---
title: "5 políticas operacionais a definir antes de desenvolver a busca com IA para loja virtual"
locale: pt
category: how_to
category_name: "Como Fazer"
translation_status: machine
license: cc_by
author: "Injoys Admin"
source_url: https://injoys.com/en/articles/five-policies-before-ai-ecommerce-search-development
published_at: 2026-07-21T10:05:48+09:00
---

# 5 políticas operacionais a definir antes de desenvolver a busca com IA para loja virtual

> A IA pode criar rapidamente o código de busca de uma loja virtual, mas os critérios de exposição dos produtos e o tratamento de exceções devem ser definidos primeiro pelo operador. Este guia organiza ordenação, status dos produtos, formato de listagem, escopo de busca e política de logs no nível de implementação e testes reais.

## Key Points

- A ordenação padrão deve combinar relevância da busca e sinais de vendas e qualidade em uma fórmula documentada, e a exposição de anúncios deve ser separada do ranqueamento orgânico.
- Esgotado, venda temporariamente suspensa, venda encerrada e recall devem ser modelados como status diferentes e tratados de forma consistente na busca, nos detalhes, no carrinho e no pagamento.
- Listas de produtos em grande escala devem escolher paginação, ver mais ou rolagem infinita conforme o objetivo e garantir o estado da URL e a restauração ao voltar.
- Além do nome do produto, a busca deve incluir marca, categoria, atributos, sinônimos e nome do modelo, e a tela sem resultados deve ser projetada como uma vitrine separada.
- Os logs de busca devem ser usados como dados de demanda, mas minimizando identificadores pessoais e termos de busca sensíveis, e separando o armazenamento do texto original do armazenamento agregado.

A IA pode criar rapidamente uma API de listagem de produtos, uma barra de busca e botões de ordenação. No entanto, **quais produtos mostrar, quais produtos ocultar e o que chamar de “recomendação”** não é código, mas política operacional. A busca de uma loja virtual não é uma simples função de consulta, e sim um sistema de tomada de decisão que combina, em um só lugar, disposição de prateleira, espaço publicitário, tratamento de estoque, experiência do cliente e coleta de dados.

Se você apenas instruir “crie uma função de busca de produtos” sem fornecer políticas, a IA pode preencher arbitrariamente exemplos familiares, como ordem dos mais recentes, correspondência parcial pelo nome do produto e paginação simples. Mesmo que o código execute, ele pode não se adequar à operação da loja. Problemas típicos incluem produtos recentes esgotados aparecendo na primeira linha, produtos descontinuados sendo adicionados ao carrinho e clientes que pesquisam “maçã” não conseguindo encontrar “busa de Cheongsong”.

## A classificação da busca não é uma função técnica, mas uma política operacional

A ordem de exposição dos produtos pode ser projetada pelo operador do negócio. No entanto, se o significado transmitido pela tela ao consumidor divergir do método real de cálculo da classificação, ou se uma exposição com interesse econômico for apresentada como uma recomendação comum, os riscos legais e de confiança aumentam.

Em junho de 2024, a Comissão de Comércio Justo questionou a operação dos rankings de busca da Coupang e da CPLB e a redação de avaliações de compra por executivos e funcionários, anunciando provisoriamente uma multa administrativa de 1,400 centenas de milhões de won. Em agosto do mesmo ano, a multa baseada no texto da decisão foi fixada em 1,628 centenas de milhões de won. A empresa contestou a sanção e, segundo notícias de abril de 2026, a ação de anulação relacionada ainda estava em andamento. A lição prática desse caso não é a proposição simples de que “favorecer produtos próprios é sempre ilegal”. O ponto é que, ainda na fase de projeto, é preciso revisar **o que significa a indicação de recomendação, se anúncios e interesses próprios foram claramente revelados e se alterações de ranking podem ser explicadas com dados e documentos**.

Como a aplicação da lei pode variar conforme a estrutura do serviço e a forma de exibição, antes do lançamento real é mais seguro verificar separadamente a legislação aplicável e os casos de execução mais recentes.

## Pontos de falha da “versão feita de qualquer jeito” criada por um prompt de uma linha

| Política indefinida | Implementação que a IA pode preencher arbitrariamente | Risco operacional real |
|---|---|---|
| Ordenação padrão | `created_at DESC` | Produtos recém-cadastrados, esgotados ou ainda não revisados aparecem no topo |
| Status de venda | Verifica apenas se foi excluído | Produtos com venda suspensa ou recall aparecem na busca ou podem ser pedidos |
| Carregamento da lista | Consulta completa ou scroll infinito simples | Resposta lenta, perda de posição ao voltar, dificuldade de comparação |
| Escopo da busca | Correspondência parcial apenas pelo nome do produto | Falha em buscas por marca, variedade, modelo ou sinônimo |
| Sem resultados | Retorna apenas um array vazio | Clientes com alta intenção de compra saem imediatamente |
| Logs | Armazena termo de busca, membro e IP sem tratamento | Coleta fora da finalidade, retenção excessiva, risco de exposição de termos sensíveis |

A IA pode preencher lacunas dos requisitos, mas não consegue julgar se essa escolha se ajusta à estratégia da loja e à responsabilidade legal. Portanto, antes da implementação, é necessário definir em documento pelo menos as cinco políticas a seguir.

## 1. Valor padrão de ordenação: o que chamar de “ordem recomendada”

A ordenação padrão é a primeira prateleira que o cliente vê. Como muitos usuários não alteram as opções de ordenação, o valor padrão afeta diretamente vendas, escoamento de estoque, desenvolvimento de novos produtos e satisfação do cliente.

### Primeiro, separe as etapas de cálculo do ranking

É mais seguro dividir os resultados da busca na seguinte ordem, em vez de misturar tudo em um único cálculo.

1. **Determinação de elegibilidade de exposição:** incluir como candidatos apenas produtos vendáveis, publicáveis e que não sejam alvo de bloqueio legal ou operacional.
2. **Cálculo de relevância da busca:** calcular o quanto nome do produto, marca, categoria, atributos e sinônimos correspondem ao termo pesquisado.
3. **Cálculo do ranking orgânico:** combinar sinais como velocidade de venda, taxa de conversão, confiabilidade das avaliações e qualidade de entrega.
4. **Aplicação de regras de negócio:** aplicar penalização por falta de estoque, oportunidade de descoberta para novos produtos, limites de diversidade etc.
5. **Combinação de slots de anúncio:** inserir produtos anunciados separadamente do ranking orgânico e exibi-los claramente.
6. **Tratamento estável de empates:** quando houver a mesma pontuação, determinar a ordem por uma chave fixa como `product_id`.

### A pontuação de recomendação deve ser uma fórmula documentada

O exemplo a seguir serve apenas para explicar a estrutura e não é uma resposta correta para todas as lojas virtuais.

```text
organic_score =
  0.45 × query_relevance
+ 0.20 × conversion_rate_28d
+ 0.15 × sales_velocity_14d
+ 0.10 × rating_confidence
+ 0.10 × fulfillment_quality
```

Cada sinal deve ser normalizado para a mesma faixa, e o período e o alvo de agregação devem ser especificados. Uma média simples de estrelas pode colocar um produto com 1 avaliação de 5 pontos acima de um produto com 1,000 avaliações de 4.8 pontos, portanto é melhor usar uma pontuação ajustada que também reflita o número de avaliações. Se apenas o volume de vendas for usado, produtos vendidos há muito tempo podem permanecer permanentemente favorecidos, portanto é preciso observar também a velocidade de vendas e a taxa de conversão de períodos recentes.

### Itens detalhados que devem ser definidos

- Se o objetivo da ordem recomendada é adequação à busca, probabilidade de compra, satisfação do cliente ou eficiência de estoque
- Período de agregação e ciclo de atualização de cada sinal
- Sinais de penalização como taxa de cancelamento, taxa de devolução, atraso na entrega e probabilidade de falta de estoque
- Oportunidade de descoberta e acréscimo máximo a serem dados a novos produtos com poucas avaliações
- Regras de diversidade para evitar que a mesma marca ou o mesmo vendedor ocupem excessivamente o topo
- Chave fixa de ordenação a usar em caso de empate de pontuação
- Registro de auditoria com versão da fórmula de ranking, motivo da alteração, horário de aplicação e aprovador
- Métricas de sucesso e condições de interrupção de testes A/B

### Não misture anúncios e recomendações orgânicas

É possível refletir interesses econômicos como verba de anúncio, condição de produto próprio ou margem elevada, mas é arriscado fazer com que isso seja confundido com uma “ordem por popularidade” ou “ordem recomendada” comum. Em 2025, em um caso envolvendo uma plataforma de venda de produtos de alto valor, a Comissão de Comércio Justo também questionou a estrutura em que produtos de vendedores que compraram uma opção paga eram expostos com prioridade na ordenação padrão e as indicações relacionadas. Produtos anunciados devem ser gerenciados como um grupo de candidatos e slots separados, e o básico é fornecer uma indicação identificável no nível do card, como “anúncio” ou “patrocinado”. A tela administrativa deve mostrar separadamente as regras de exposição de anúncios e a fórmula de ranking orgânico.

## 2. Produtos em estado anormal: falta de estoque e suspensão de venda são estados diferentes

Se todas as exceções forem tratadas com um único `is_sold_out`, busca, detalhe, carrinho e validação do pedido ficarão desalinhados. No mínimo, é preciso separar **status de venda, status de estoque, status de visibilidade e status regulatório**.

### Modelo de status recomendado

| Status | Busca·lista | Detalhe por URL direta | Carrinho·pedido | Tratamento recomendado |
|---|---|---|---|---|
| À venda·com estoque | Exposição normal | Exibição normal | Possível | Candidato padrão |
| À venda·temporariamente esgotado | Pode ser exibido, mas com penalização ou em posição inferior | Exibir esgotado·alerta de reposição | Impossível | Preservar possibilidade de reposição |
| Venda temporariamente suspensa | Oculto por padrão | Aviso de suspensão temporária | Impossível | Restaurar quando retomado |
| Venda encerrada | Oculto da busca·categoria | Aviso de encerramento e produtos substitutos | Impossível | Preservar links existentes e contexto de CS |
| Rascunho·em revisão | Totalmente oculto | Apenas administradores autorizados | Impossível | Revisão antes da publicação |
| Recall·bloqueio legal | Totalmente oculto | Aviso de segurança se necessário | Impossível | Priorizar aviso de segurança em vez de recomendação alternativa |

Produtos esgotados têm valor para alertas de reposição e identificação de demanda de busca, portanto não precisam ser excluídos incondicionalmente. Por outro lado, produtos com venda encerrada devem ser excluídos das listas comuns, mas clientes que chegam por favoritos antigos ou links externos podem receber a explicação “a venda foi encerrada” e produtos semelhantes. Manter a URL de detalhe ou encerrá-la com `410 Gone` deve ser decidido conforme tráfego de busca, necessidade de aviso legal e valor de conteúdo alternativo.

### O índice de busca não é a autoridade final sobre a possibilidade de pedido

O índice de busca pode sofrer atraso de sincronização. Portanto, mesmo que os resultados de busca mostrem estoque disponível, é preciso validar novamente nas etapas seguintes.

- Revalidar status de venda e estoque ao adicionar ao carrinho
- Revalidar preço, desconto e estoque ao entrar no formulário de pedido
- Reservar estoque ou fazer baixa atômica imediatamente antes do pagamento
- Remoção emergencial do índice de busca quando ocorrer evento de suspensão de venda
- Monitorar atraso de indexação e número de falhas

Sem essas regras, incidentes de CS se repetem em que a tela de busca parece normal, mas a falha só ocorre na etapa de pagamento.

## 3. Forma de exposição da lista: usar paginação, “ver mais” ou scroll infinito

Se houver milhares ou dezenas de milhares de produtos, não se deve enviar tudo de uma vez. No entanto, também não é correto afirmar que “em loja virtual, páginas numeradas são sempre a resposta certa”. Em buscas focadas em comparação, a restauração de posição e estado é importante; em navegação por categoria, “ver mais” pode ser conveniente.

| Forma | Pontos fortes | Pontos fracos | Situações adequadas |
|---|---|---|---|
| Paginação numérica | Fácil entender a posição atual e o tamanho dos resultados, possibilidade de revisitar uma página específica | A troca de página interrompe o fluxo e a comparação entre páginas é trabalhosa | Busca em desktop, exploração profunda, resultados compartilháveis |
| Ver mais | O usuário controla o carregamento mantendo os produtos existentes | Se houver muitos resultados, DOM e memória crescem | Navegação mobile·por categoria, resultados de porte médio |
| Scroll infinito | Exploração contínua é natural | Posição, fim e tamanho total são pouco claros, e restaurar ao voltar é difícil | Telas em formato de feed onde descoberta é mais importante que comparação |

Na prática, é possível priorizar **paginação ou “ver mais + URL de página restaurável” para resultados de busca**, e scroll infinito para feeds de recomendação voltados à descoberta. Mesmo ao usar scroll infinito puro, as seguintes condições devem ser atendidas.

- Salvar termo de busca, ordenação, filtros e página ou cursor na URL ou em estado restaurável
- Restaurar a lista anterior e a posição de rolagem ao voltar da página de detalhe
- Dar suporte a navegação por teclado, leitores de tela e movimentação de foco
- Fornecer alternativas acessíveis para o rodapé e principais links de navegação
- Fornecer UI de falha de carregamento e nova tentativa
- Preparar URL única ou estrutura de links acessível para cada grupo de resultados

### Paginação por offset e por cursor

Offsets profundos como `OFFSET 5000 LIMIT 40` ficam mais lentos e mais propensos a duplicações e omissões quanto maior e mais frequentemente atualizada for a base de dados. Para páginas rasas e telas administrativas, offset é simples, mas em buscas de grande escala, a abordagem por cursor que passa as chaves de ordenação do último resultado é mais estável.

```text
ORDER BY score DESC, product_id DESC
cursor = last_score + last_product_id
```

Se apenas a pontuação for usada como cursor, produtos empatados podem ficar de fora, por isso use também uma chave única. Se a pontuação de recomendação muda frequentemente em tempo real, também é necessária uma política para fixar uma versão de snapshot ou o horário-base do ranking durante a sessão de busca.

## 4. Escopo da busca e tela sem resultados: conectar a expressão do cliente aos dados de produto

O cliente não conhece o nome exato do produto cadastrado pelo operador. Para mostrar “busa de Cheongsong”, “hongro” e “maçã para uso doméstico” a um cliente que procura “maçã”, é preciso projetar juntos os dados de produto e o dicionário de busca.

### Prioridade dos campos de busca

| Campo | Prioridade recomendada | Exemplo |
|---|---:|---|
| SKU·modelo·código de barras | Muito alta | `SM-S928N`, `880...` |
| Nome do produto | Alta | Maçã busa de Cheongsong 3kg |
| Marca·fabricante | Alta | Samsung, Apple |
| Categoria·tipo de produto | Média ou superior | Fruta, tênis de corrida |
| Atributos principais | Média ou superior | Capacidade, cor, especificação, modelos compatíveis |
| Sinônimos·apelidos·variedades·tags | Média ou superior | tênis de jogging↔tênis de corrida, maçã↔busa |
| Descrição detalhada | Baixa | Peso baixo para reduzir ruído de descrições longas |
| Corpo das avaliações | Opcional | Uso limitado após revisão de qualidade·spam·dados pessoais |

Em buscas em coreano, também é preciso considerar diferenças de espaçamento, separação de jamo, grafia de marcas em inglês·coreano, números e unidades, e substantivos compostos. Por exemplo, estabeleça regras de normalização para que “에어팟프로2”, “에어팟 프로 2” e “AirPods Pro 2” sejam conectados ao mesmo grupo de produtos.

### Pipeline de busca recomendado

1. Validar o comprimento da entrada e os caracteres permitidos.
2. Normalizar maiúsculas/minúsculas, espaços, caracteres especiais e unidades.
3. Verificar primeiro correspondência exata com código de produto.
4. Aplicar tokenização e variações morfológicas·ortográficas.
5. Expandir sinônimos e dicionários de categoria gerenciados pelo operador.
6. Encontrar candidatos com busca textual.
7. Se necessário, usar busca semântica para geração auxiliar de candidatos.
8. Filtrar status de venda·visibilidade·regulatório.
9. Calcular pontuação orgânica e combinar anúncios separadamente.
10. Retornar resultados e informações de diagnóstico.

Mesmo ao introduzir IA generativa ou busca vetorial, não se deve enfraquecer correspondências exatas como SKU, marca e modelo. Em busca de compras, geralmente é mais seguro usar uma abordagem híbrida que combine **busca exata + relevância textual + busca semântica opcional**. Para que a IA não invente produtos, preços ou estoques inexistentes no catálogo, todas as respostas devem ser conectadas a IDs reais de produtos e dados atuais.

### A tela sem resultados é a segunda prateleira

Quando não houver resultados de busca, não mostre apenas uma tela vazia. Mas também não misture produtos populares irrelevantes como se fossem resultados de busca.

A composição recomendada é a seguinte.

- Mostrar exatamente o termo inserido pelo usuário e informar claramente que não há produtos correspondentes
- Sugerir correções de erro de digitação e sinônimos
- Se o resultado chegou a 0 por causa de filtros, indicar filtros removíveis
- Apresentar resultados com escopo ampliado com rótulo separado
- Expor categorias relacionadas, produtos substitutos e produtos populares gerais de forma distinta
- Conectar a solicitação de reposição·entrada de produto ou atendimento ao cliente
- Registrar eventos de busca sem resultados na análise administrativa

“Sem resultados” e “sem resultados após aplicar filtro” são problemas diferentes. Se havia candidatos originais, mas filtros de preço·cor levaram a 0, flexibilizar filtros é o mais útil; se o catálogo em si não tem o produto, isso deve ser usado como dado de sourcing.

## 5. Histórico de busca: gerenciar dados de pesquisa de mercado e dados pessoais em conjunto

Termos de busca sem resultados mostram uma demanda que o cliente procurou, mas não conseguiu comprar. Termos populares ajudam na exposição e no planejamento de estoque, e o fluxo após a busca — clique, carrinho e compra — torna-se um indicador essencial para avaliar a qualidade da busca.

No entanto, não se pode afirmar que “armazenar apenas termos de busca e contagens nunca é dado pessoal”. O próprio termo de busca pode conter telefone, número de pedido, nome ou conteúdos sensíveis como saúde, religião e vida sexual, e, quando combinado com conta, IP e informações do dispositivo, aumenta a possibilidade de identificar ou rastrear uma pessoa.

### Itens de coleta recomendados

| Categoria | Tratamento recomendado |
|---|---|
| Termo de busca normalizado | Agregar por dia·hora e minimizar o período de retenção do texto original |
| Número de resultados | Armazenar se foi 0 e faixas de valor |
| Filtros·ordenação aplicados | Armazenar apenas o escopo necessário para análise de qualidade da busca |
| Cliques·carrinho·compras | Se possível, armazenar como métricas agregadas por termo de busca |
| Conexão de sessão | Usar identificador aleatório de curta duração apenas quando indispensável |
| ID de membro·IP·localização exata | Excluir dos logs de análise de busca se não houver finalidade e base claras |
| Dados pessoais no texto original | Mascarar ou descartar padrões de e-mail·telefone·número de pedido |

Um ID de membro com hash também não se torna automaticamente informação anônima. Se puder ser ligado novamente a um usuário específico, deve ser tratado como informação pseudonimizada ou dado pessoal. O período de retenção também não deve ser definido uniformemente; defina separadamente para texto original e dados agregados com base na finalidade, ciclo de análise e risco de segurança.

### Métricas necessárias no painel administrativo

- Volume de buscas e número de termos de busca únicos
- Proporção de buscas sem resultados
- Taxa de cliques nos resultados de busca
- Taxa de carrinho após a busca e taxa de conversão de compra
- Taxa de modificação de termo de busca e taxa de remoção de filtros
- Proporção de exposição de produtos esgotados
- Concentração dos resultados superiores e diversidade de marcas
- Métricas separadas de desempenho para anúncios e resultados orgânicos
- Atualidade do índice de busca e número de falhas de indexação

Como termos originais de baixa frequência podem conter dados pessoais, também é útil expor na tela do operador apenas itens que ultrapassem um critério mínimo de agregação.

## Prompt prático: como converter políticas em código

Mais importante do que usar muitos termos de desenvolvimento é escrever claramente as regras operacionais. O template a seguir pode ser preenchido conforme a situação do serviço e fornecido à IA.

```text
Projete e implemente a função de busca de produtos da nossa loja virtual.

1. Elegibilidade de exposição
- Incluir como candidatos de busca apenas produtos que estejam à venda, em estado público e sem bloqueio regulatório.
- Exibir produtos temporariamente esgotados, mas posicioná-los atrás de produtos com estoque nas mesmas condições.
- Ocultar da busca·categoria produtos com venda encerrada e venda temporariamente suspensa.
- Na URL direta de produtos com venda encerrada, mostrar aviso de encerramento e produtos substitutos, e remover o botão de compra.

2. Ordenação padrão
- Refletir a relevância do termo de busca com maior peso.
- Refletir a taxa de conversão dos últimos 28 dias, a velocidade de vendas dos últimos 14 dias, a pontuação ajustada e a qualidade de entrega.
- Permitir que cada peso seja alterado por arquivo de configuração ou política administrativa.
- Ordenar empates de forma estável por product_id em ordem decrescente.
- Não misturar produtos anunciados à pontuação orgânica; colocá-los em slots separados e marcá-los como 'anúncio'.

3. Navegação da lista
- Retornar 40 itens por vez.
- Permitir restaurar termo de busca, ordenação, filtros e página ou cursor pela URL.
- Ao voltar de uma página de detalhe, restaurar a lista e a posição de rolagem.
- Usar paginação por cursor para resultados de grande escala.

4. Escopo da busca
- Priorizar correspondência exata de SKU e modelo.
- Buscar por nome do produto, marca, categoria, atributos e tags de sinônimo.
- Tratar espaçamento em coreano e variações de marca em inglês·coreano.
- Se não houver resultados, mostrar separadamente sugestões de erro de digitação, flexibilização de filtros, categorias relacionadas e recomendações substitutas.

5. Logs de busca
- Armazenar por padrão apenas termo de busca normalizado, faixa de horário, número de resultados, filtros e métricas agregadas de clique·compra.
- Não armazenar ID de membro nem IP nos logs de análise de busca.
- Mascarar formatos de e-mail, telefone e número de pedido.
- Separar em configurações o período de retenção do texto original e o período de retenção dos dados agregados.

6. Requisitos técnicos
- Projetar em conjunto modelo de dados, contrato de API, índice de busca, método de sincronização, tratamento de exceções e métricas administrativas.
- Sugerir índices adequados aos padrões reais de consulta e explicar como verificar o plano de execução.
- Mesmo em situações de atraso do índice de busca, revalidar status·preço·estoque nas etapas de carrinho e pagamento.
- Escrever cenários de testes unitários, testes de integração, testes de desempenho e testes de acessibilidade.

Antes de iniciar a implementação, se houver decisões de política que eu não defini e que afetem os resultados, pergunte primeiro; se você definir alguma premissa arbitrariamente, mostre-a em uma lista separada.
```

A última frase é o dispositivo central que transforma a IA de simples geradora de código em parceira de revisão de requisitos. Porém, não basta receber perguntas; as respostas confirmadas devem ser refletidas no documento de políticas e nas condições de teste.

## Projeto de implementação: fixar políticas em dados e API

### Exemplo de modelo de dados

```text
products
- product_id
- sales_status
- stock_status
- visibility_status
- compliance_status
- brand_id
- category_id
- searchable_name
- search_tags
- price
- inventory_quantity
- ranking_feature_version
- updated_at
```

Não coloque vários significados em um único campo. Por exemplo, se houver apenas `status = 1`, não é possível saber se significa vendável, publicável, com estoque ou aprovado regulatoriamente. Transições de estado também devem ser gerenciadas em tabela, definindo revisões e eventos necessários ao mover de rascunho para à venda, ou de à venda para encerrado.

### Informações a incluir na resposta da API

- Termo de busca normalizado
- Ordenação e filtros aplicados
- Grupo de resultados e próximo cursor
- Número de resultados ou número aproximado de resultados
- Badges de esgotado·status de venda
- Se é anúncio e texto de indicação de anúncio
- Correção de erro de digitação·se houve ampliação do escopo de busca
- Versão da política de busca e ID de requisição para rastreamento

Não é necessário expor na API do cliente pontuações brutas e pesos comercialmente sensíveis que são informações internas de depuração. Em vez disso, o operador deve conseguir reproduzir o caminho de cálculo do ranking por meio do ID da requisição.

### Projete índices conforme os padrões reais de consulta

Em geral, considere índices da família B-tree para colunas usadas em filtros de status e ordenação, e índices invertidos para documentos de busca textual. No PostgreSQL, é possível usar `tsvector` e índice GIN; se for necessária busca por strings semelhantes, é possível usar `pg_trgm`. Mesmo usando um mecanismo de busca externo, o princípio é o mesmo.

```sql
CREATE INDEX idx_products_visibility
ON products (visibility_status, sales_status, compliance_status);

CREATE INDEX idx_products_search_document
ON products USING GIN (search_document);
```

Quanto mais índices forem criados, maiores também serão o custo de escrita e o espaço de armazenamento. Não decida apenas por previsões; verifique `EXPLAIN ANALYZE`, logs de consultas lentas e testes de carga com consultas reais e distribuição real dos dados. Quando o número de produtos aumenta, observe não apenas o tempo médio de resposta, mas também atraso p95·p99, taxa de timeout e atualidade da indexação.

### Salvaguardas adicionais ao conectar IA generativa

- Usar apenas resultados da API de catálogo para existência de produto, preço, estoque e data de entrega
- Registrar expansões de termos de busca feitas pelo modelo junto com o texto original e limitar expansões excessivas
- Priorizar buscas exatas de SKU·modelo em relação à busca semântica
- Aplicar igualmente filtros de venda suspensa·recall aos candidatos de busca da IA
- Rastrear IDs de produtos e campos de justificativa expostos na resposta
- Fazer fallback para busca textual comum em caso de falha do modelo
- Separar para que frases com potencial de injeção de prompt em descrições de produto ou avaliações não sejam executadas como instruções do sistema

## Testes de aceitação antes do lançamento

| Cenário | Resultado esperado |
|---|---|
| Há um produto esgotado cadastrado ontem e um produto com estoque vendido continuamente | O produto esgotado não ocupa o topo padrão |
| Buscar produto com venda encerrada | Não aparece na lista, e a URL direta mostra aviso de encerramento e estado de compra indisponível |
| Produto anunciado aparece no slot 1 | É possível identificar imediatamente no card que é anúncio |
| 0 resultados após aplicar filtro | Indica sugestão de remoção de filtro e se existiam candidatos originais |
| Busca por “tênis de corrida”, “tênis de jogging” | Produtos relacionados aparecem de forma consistente conforme a política de sinônimos |
| Abrir detalhe e voltar | Termo de busca, filtros, ordenação, lista e posição de rolagem são restaurados |
| Há vários produtos com a mesma pontuação | A ordem fixa é mantida sem duplicações·omissões mesmo repetindo a mudança de página |
| Ainda há estoque no índice de busca | Carrinho·pagamento bloqueiam com base no estoque mais recente |
| O termo de busca inclui e-mail·telefone | Mascarado ou descartado antes de salvar no log |
| Buscas simultâneas em massa | Atende aos critérios definidos de atraso p95 e taxa de erro |
| Painel administrativo de termos de busca | Texto original de baixa frequência e padrões sensíveis não são expostos sem tratamento |
| Alteração de pesos do ranking | Versão da política, aprovador, horário de aplicação e métricas antes/depois são registrados |

## Trabalho a repetir na etapa operacional

Busca não é uma função que se desenvolve uma vez e termina. Como composição de produtos, estações, promoções e expressões dos clientes mudam, estabeleça o seguinte ciclo como processo operacional.

1. Revisar semanalmente termos de busca sem resultados e termos de busca em forte crescimento.
2. Atualizar sinônimos e mapeamentos de categoria por meio de procedimento de aprovação.
3. Observar em conjunto taxa de exposição de esgotados, taxa de cliques, taxa de conversão e taxa de modificação de termos de busca.
4. Expandir alterações de peso após avaliação offline e teste A/B limitado.
5. Auditar separadamente a proporção de exposição de anúncios, produtos próprios e resultados orgânicos.
6. Verificar regularmente período de retenção, permissões de acesso e falhas de mascaramento dos logs de busca.
7. Reavaliar com tráfego real o uso de índices e consultas lentas.

## Conclusão

A IA pode criar rapidamente APIs e telas de busca, mas não consegue decidir quais produtos têm direito de ficar diante do cliente. Uma busca prática de loja virtual se completa quando **valor padrão de ordenação, status de produto, navegação de lista, escopo da busca e tratamento sem resultados, e logs de busca** são primeiro definidos como políticas e essas políticas são refletidas de forma consistente no modelo de dados, API, índices, testes e métricas administrativas.

A codificação pode ser automatizada, mas princípios e responsabilidades de exposição não surgem automaticamente. O melhor prompt de IA não é um conjunto longo e difícil de termos de desenvolvimento, mas um documento que distingue claramente as políticas já decididas pelo operador e as perguntas ainda não decididas.

## FAQ

### Por que é problemático deixar a ordenação padrão da busca de um shopping online como mais recentes cadastrados?
A ordenação por mais recentes cadastrados reflete apenas o horário de cadastro, portanto produtos esgotados, ainda não revisados ou com baixo potencial de venda podem ocupar o topo. É mais seguro primeiro garantir a relevância em relação ao termo de busca e o estado de disponibilidade para venda, e depois combinar sinais como taxa de conversão, velocidade de vendas e confiabilidade das avaliações.

### Os pesos da ordenação por recomendação podem ser definidos automaticamente pela IA?
A IA pode propor fórmulas candidatas e criar código de simulação, mas os objetivos e os limites aceitáveis devem ser definidos pelo operador. Os pesos devem ser avaliados offline com dados históricos e alterados somente após A/B tests limitados e condições de interrupção.

### Produtos esgotados devem ser completamente ocultados dos resultados de busca?
Se houver possibilidade de reposição e o cliente puder usar alertas de reposição, é mais útil exibir um selo de esgotado e posicionar o item mais abaixo do que removê-lo completamente. Produtos esgotados por longo prazo ou descontinuados pelo fornecedor devem ser ocultados conforme critérios separados, e a disponibilidade para compra deve ser verificada novamente no carrinho e na etapa de pagamento.

### É correto remover a página de detalhes de um produto cuja venda foi encerrada usando 404?
Nem sempre. Se houver valor em links existentes, histórico de pedidos, avisos de segurança ou orientação sobre produtos alternativos, é possível manter a página de detalhes indicando claramente que a venda foi encerrada e que a compra não está disponível. Quando não houver nenhum valor de conteúdo e a remoção permanente for adequada, deve-se avaliar uma política de 404 ou 410.

### Entre paginação e rolagem infinita, qual método é melhor para um shopping online?
Para resultados de busca em que comparação e retorno posterior são importantes, a paginação numérica ou o método de carregar mais geralmente são mais fáceis de gerenciar. Para usar rolagem infinita, é necessário completar o estado da URL, voltar no navegador, posição da rolagem, acessibilidade e recuperação de erros, e ela se adapta melhor a feeds de descoberta.

### Ao adotar busca por IA ou busca vetorial, a busca textual existente deixa de ser necessária?
Ela continua sendo necessária. Em buscas de shopping em que a correspondência exata é importante, como SKU, nome do modelo, marca e especificações, a busca textual deve ser a base. A busca semântica deve ser usada como uma camada auxiliar para ampliar candidatos com expressões diferentes e deve ser conectada aos IDs reais dos produtos e aos dados de estoque.

### Se apenas o termo de busca e o número de buscas forem armazenados, não há problema de privacidade?
Não se pode considerar isso automaticamente seguro. Termos de busca podem incluir e-mail, número de telefone, número de pedido ou conteúdo sensível e, se combinados com outros identificadores, podem permitir rastrear uma pessoa. São necessários minimização da finalidade, mascaramento, controle de acesso e armazenamento separado dos dados originais e dos dados agregados.

### É permitido colocar produtos anunciados no topo da ordenação por recomendação?
Mais importante do que a exibição do anúncio em si é projetar isso para que não seja confundido com uma recomendação orgânica comum. É preciso separar os candidatos de anúncio dos candidatos orgânicos, fornecer uma indicação imediatamente identificável no card do produto e gerenciar separadamente as regras de exibição de anúncios e as métricas de desempenho.

### Quais índices de banco de dados são necessários para a busca de produtos?
A resposta depende das consultas reais e da distribuição dos dados. Para filtros de estado e ordenação, podem ser considerados índices da família B-tree; para busca de texto completo, índices invertidos como GIN; e para busca de strings semelhantes, famílias como trigram, devendo-se confirmar a eficácia por meio do plano de execução e de testes de carga.

### Com quais métricas a qualidade da busca deve ser avaliada?
É preciso observar conjuntamente a taxa de ausência de resultados, a taxa de cliques nos resultados de busca, a taxa de adição ao carrinho e de conversão de compra após a busca, a taxa de correção de termos de busca e a taxa de exposição de produtos esgotados. Ao combinar isso com latência p95, taxa de timeout e atualização do índice, é possível avaliar qualidade e desempenho ao mesmo tempo.

### Por quanto tempo os logs de busca devem ser mantidos?
Não existe um único período aplicável a todos os serviços. É melhor manter os termos de busca originais apenas pelo período mínimo necessário para análise e armazenar tendências de longo prazo como dados agregados com menor risco de privacidade. A finalidade de retenção, o ciclo de exclusão e as permissões de acesso devem estar alinhados à política de privacidade e às políticas internas.

### Qual é a frase mais importante para fazer a IA perguntar antes da implementação?
Você pode instruir: “Antes de iniciar a implementação, se houver alguma decisão entre as políticas que eu não defini e que afete o resultado, pergunte primeiro, e liste separadamente as suposições definidas arbitrariamente”. Depois disso, só haverá efeito se as respostas forem refletidas no documento de políticas, no contrato da API e nas condições de teste.

## Sources

- [Comissão de Comércio Justo: sanções contra a Coupang e a CPLB por prática de atração de clientes por meio de ardil](https://www.ftc.go.kr/www/selectBbsNttView.do?bordCd=3&key=12&nttSn=43448&pageIndex=1&pageUnit=10&rltnNttSn=46624&searchCnd=all&searchViolt=0604)
- [Jornal Jurídico: processo Coupang-Comissão de Comércio Justo torna controversas as questões do caso Naver Shopping](https://www.lawtimes.co.kr/news/articleView.html?idxno=218796)
- [Centro Nacional de Informações sobre Legislação: Lei sobre a Equidade na Rotulagem e na Publicidade](https://www.law.go.kr/LSW/lsInfoP.do?lsId=002011)
- [Processamento de casos on-line da Comissão de Comércio Justo: decisão 2014-103 relacionada à indicação de anúncios por palavra-chave](https://case.ftc.go.kr/ocp/co/openDocView.do?docCnvrMnNo=12808&docId=20221229104156671154&docTy=LTFR&id=OCPLTFR20140759018192)
- [Comissão de Comércio Justo: sanções por violações da Lei de Rotulagem e Publicidade e da Lei de Comércio Eletrônico por plataformas de venda de produtos famosos de alto valor](https://www.ftc.go.kr/www/selectBbsNttView.do?bordCd=3&key=12&nttSn=46006&pageIndex=2&pageUnit=10&rltnNttSn=37048&searchCnd=all&searchCtgry=01%2C02&searchKrwd=%EA%B4%91%EA%B3%A0&searchViolt=0609)
- [Centro Nacional de Informações sobre Legislação: Lei de Proteção de Informações Pessoais](https://www.law.go.kr/LSW/lsInfoP.do?ancYnChk=0&lsId=011357)
- [Baymard Institute: melhores práticas de UX para ecommerce orientadas por dados](https://baymard.com/learn/ecommerce-ux-best-practices)
- [Google Search Central: paginação e carregamento incremental de páginas](https://developers.google.com/search/docs/specialty/ecommerce/pagination-and-incremental-page-loading)
- [Documentação do PostgreSQL: pesquisa de texto completo](https://www.postgresql.org/docs/current/textsearch.html)
- [Documentação do PostgreSQL: tipos de índice preferenciais para pesquisa de texto](https://www.postgresql.org/docs/current/textsearch-indexes.html)
- [Documentação do PostgreSQL: pg_trgm](https://www.postgresql.org/docs/current/pgtrgm.html)

## Images

![Rede de IA, interface de busca de produtos, cartões de políticas e painel analítico para comércio eletrônico](https://injoys.com/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MjM1NSwicHVyIjoiYmxvYl9pZCJ9fQ==--6c0b755d9bc5bce8a57d0306acd05a2302fe176e/ChatGPT%20Image%202026%E1%84%82%E1%85%A7%E1%86%AB%207%E1%84%8B%E1%85%AF%E1%86%AF%2021%E1%84%8B%E1%85%B5%E1%86%AF%20%E1%84%8B%E1%85%A9%E1%84%8C%E1%85%A5%E1%86%AB%2002_29_49.webp)
![Mapa de busca comercial com conexões semânticas, recomendações alternativas e armazenamento seguro de dados](https://injoys.com/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MjM2MiwicHVyIjoiYmxvYl9pZCJ9fQ==--7aa0dfb3a548f3bdfe5cf4f73b74b387fe8da178/ChatGPT%20Image%202026%E1%84%82%E1%85%A7%E1%86%AB%207%E1%84%8B%E1%85%AF%E1%86%AF%2021%E1%84%8B%E1%85%B5%E1%86%AF%20%E1%84%8B%E1%85%A9%E1%84%8C%E1%85%A5%E1%86%AB%2002_32_48.webp)