{"content_id":"rl3zchhyg6","slug":"five-policies-before-ai-ecommerce-search-development","locale":"pt","schema_type":"HowTo","category":"how_to","category_name":"Como Fazer","title":"5 políticas operacionais a definir antes de desenvolver a busca com IA para loja virtual","summary":"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.","author":{"name":"Injoys Admin","url":"https://injoys.com/ko/about"},"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."],"content_markdown":"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.\n\nSe 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”.\n\n## A classificação da busca não é uma função técnica, mas uma política operacional\n\nA 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.\n\nEm 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**.\n\nComo 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.\n\n## Pontos de falha da “versão feita de qualquer jeito” criada por um prompt de uma linha\n\n| Política indefinida | Implementação que a IA pode preencher arbitrariamente | Risco operacional real |\n|---|---|---|\n| Ordenação padrão | `created_at DESC` | Produtos recém-cadastrados, esgotados ou ainda não revisados aparecem no topo |\n| Status de venda | Verifica apenas se foi excluído | Produtos com venda suspensa ou recall aparecem na busca ou podem ser pedidos |\n| Carregamento da lista | Consulta completa ou scroll infinito simples | Resposta lenta, perda de posição ao voltar, dificuldade de comparação |\n| Escopo da busca | Correspondência parcial apenas pelo nome do produto | Falha em buscas por marca, variedade, modelo ou sinônimo |\n| Sem resultados | Retorna apenas um array vazio | Clientes com alta intenção de compra saem imediatamente |\n| 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 |\n\nA 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.\n\n## 1. Valor padrão de ordenação: o que chamar de “ordem recomendada”\n\nA 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.\n\n### Primeiro, separe as etapas de cálculo do ranking\n\nÉ mais seguro dividir os resultados da busca na seguinte ordem, em vez de misturar tudo em um único cálculo.\n\n1. **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.\n2. **Cálculo de relevância da busca:** calcular o quanto nome do produto, marca, categoria, atributos e sinônimos correspondem ao termo pesquisado.\n3. **Cálculo do ranking orgânico:** combinar sinais como velocidade de venda, taxa de conversão, confiabilidade das avaliações e qualidade de entrega.\n4. **Aplicação de regras de negócio:** aplicar penalização por falta de estoque, oportunidade de descoberta para novos produtos, limites de diversidade etc.\n5. **Combinação de slots de anúncio:** inserir produtos anunciados separadamente do ranking orgânico e exibi-los claramente.\n6. **Tratamento estável de empates:** quando houver a mesma pontuação, determinar a ordem por uma chave fixa como `product_id`.\n\n### A pontuação de recomendação deve ser uma fórmula documentada\n\nO exemplo a seguir serve apenas para explicar a estrutura e não é uma resposta correta para todas as lojas virtuais.\n\n```text\norganic_score =\n  0.45 × query_relevance\n+ 0.20 × conversion_rate_28d\n+ 0.15 × sales_velocity_14d\n+ 0.10 × rating_confidence\n+ 0.10 × fulfillment_quality\n```\n\nCada 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.\n\n### Itens detalhados que devem ser definidos\n\n- Se o objetivo da ordem recomendada é adequação à busca, probabilidade de compra, satisfação do cliente ou eficiência de estoque\n- Período de agregação e ciclo de atualização de cada sinal\n- Sinais de penalização como taxa de cancelamento, taxa de devolução, atraso na entrega e probabilidade de falta de estoque\n- Oportunidade de descoberta e acréscimo máximo a serem dados a novos produtos com poucas avaliações\n- Regras de diversidade para evitar que a mesma marca ou o mesmo vendedor ocupem excessivamente o topo\n- Chave fixa de ordenação a usar em caso de empate de pontuação\n- Registro de auditoria com versão da fórmula de ranking, motivo da alteração, horário de aplicação e aprovador\n- Métricas de sucesso e condições de interrupção de testes A/B\n\n### Não misture anúncios e recomendações orgânicas\n\nÉ 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.\n\n## 2. Produtos em estado anormal: falta de estoque e suspensão de venda são estados diferentes\n\nSe 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**.\n\n### Modelo de status recomendado\n\n| Status | Busca·lista | Detalhe por URL direta | Carrinho·pedido | Tratamento recomendado |\n|---|---|---|---|---|\n| À venda·com estoque | Exposição normal | Exibição normal | Possível | Candidato padrão |\n| À 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 |\n| Venda temporariamente suspensa | Oculto por padrão | Aviso de suspensão temporária | Impossível | Restaurar quando retomado |\n| Venda encerrada | Oculto da busca·categoria | Aviso de encerramento e produtos substitutos | Impossível | Preservar links existentes e contexto de CS |\n| Rascunho·em revisão | Totalmente oculto | Apenas administradores autorizados | Impossível | Revisão antes da publicação |\n| 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 |\n\nProdutos 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.\n\n### O índice de busca não é a autoridade final sobre a possibilidade de pedido\n\nO í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.\n\n- Revalidar status de venda e estoque ao adicionar ao carrinho\n- Revalidar preço, desconto e estoque ao entrar no formulário de pedido\n- Reservar estoque ou fazer baixa atômica imediatamente antes do pagamento\n- Remoção emergencial do índice de busca quando ocorrer evento de suspensão de venda\n- Monitorar atraso de indexação e número de falhas\n\nSem essas regras, incidentes de CS se repetem em que a tela de busca parece normal, mas a falha só ocorre na etapa de pagamento.\n\n## 3. Forma de exposição da lista: usar paginação, “ver mais” ou scroll infinito\n\nSe 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.\n\n| Forma | Pontos fortes | Pontos fracos | Situações adequadas |\n|---|---|---|---|\n| 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 |\n| 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 |\n| 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 |\n\nNa 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.\n\n- Salvar termo de busca, ordenação, filtros e página ou cursor na URL ou em estado restaurável\n- Restaurar a lista anterior e a posição de rolagem ao voltar da página de detalhe\n- Dar suporte a navegação por teclado, leitores de tela e movimentação de foco\n- Fornecer alternativas acessíveis para o rodapé e principais links de navegação\n- Fornecer UI de falha de carregamento e nova tentativa\n- Preparar URL única ou estrutura de links acessível para cada grupo de resultados\n\n### Paginação por offset e por cursor\n\nOffsets 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.\n\n```text\nORDER BY score DESC, product_id DESC\ncursor = last_score + last_product_id\n```\n\nSe 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.\n\n## 4. Escopo da busca e tela sem resultados: conectar a expressão do cliente aos dados de produto\n\nO 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.\n\n### Prioridade dos campos de busca\n\n| Campo | Prioridade recomendada | Exemplo |\n|---|---:|---|\n| SKU·modelo·código de barras | Muito alta | `SM-S928N`, `880...` |\n| Nome do produto | Alta | Maçã busa de Cheongsong 3kg |\n| Marca·fabricante | Alta | Samsung, Apple |\n| Categoria·tipo de produto | Média ou superior | Fruta, tênis de corrida |\n| Atributos principais | Média ou superior | Capacidade, cor, especificação, modelos compatíveis |\n| Sinônimos·apelidos·variedades·tags | Média ou superior | tênis de jogging↔tênis de corrida, maçã↔busa |\n| Descrição detalhada | Baixa | Peso baixo para reduzir ruído de descrições longas |\n| Corpo das avaliações | Opcional | Uso limitado após revisão de qualidade·spam·dados pessoais |\n\nEm 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.\n\n### Pipeline de busca recomendado\n\n1. Validar o comprimento da entrada e os caracteres permitidos.\n2. Normalizar maiúsculas/minúsculas, espaços, caracteres especiais e unidades.\n3. Verificar primeiro correspondência exata com código de produto.\n4. Aplicar tokenização e variações morfológicas·ortográficas.\n5. Expandir sinônimos e dicionários de categoria gerenciados pelo operador.\n6. Encontrar candidatos com busca textual.\n7. Se necessário, usar busca semântica para geração auxiliar de candidatos.\n8. Filtrar status de venda·visibilidade·regulatório.\n9. Calcular pontuação orgânica e combinar anúncios separadamente.\n10. Retornar resultados e informações de diagnóstico.\n\nMesmo 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.\n\n### A tela sem resultados é a segunda prateleira\n\nQuando 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.\n\nA composição recomendada é a seguinte.\n\n- Mostrar exatamente o termo inserido pelo usuário e informar claramente que não há produtos correspondentes\n- Sugerir correções de erro de digitação e sinônimos\n- Se o resultado chegou a 0 por causa de filtros, indicar filtros removíveis\n- Apresentar resultados com escopo ampliado com rótulo separado\n- Expor categorias relacionadas, produtos substitutos e produtos populares gerais de forma distinta\n- Conectar a solicitação de reposição·entrada de produto ou atendimento ao cliente\n- Registrar eventos de busca sem resultados na análise administrativa\n\n“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.\n\n## 5. Histórico de busca: gerenciar dados de pesquisa de mercado e dados pessoais em conjunto\n\nTermos 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.\n\nNo 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.\n\n### Itens de coleta recomendados\n\n| Categoria | Tratamento recomendado |\n|---|---|\n| Termo de busca normalizado | Agregar por dia·hora e minimizar o período de retenção do texto original |\n| Número de resultados | Armazenar se foi 0 e faixas de valor |\n| Filtros·ordenação aplicados | Armazenar apenas o escopo necessário para análise de qualidade da busca |\n| Cliques·carrinho·compras | Se possível, armazenar como métricas agregadas por termo de busca |\n| Conexão de sessão | Usar identificador aleatório de curta duração apenas quando indispensável |\n| ID de membro·IP·localização exata | Excluir dos logs de análise de busca se não houver finalidade e base claras |\n| Dados pessoais no texto original | Mascarar ou descartar padrões de e-mail·telefone·número de pedido |\n\nUm 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.\n\n### Métricas necessárias no painel administrativo\n\n- Volume de buscas e número de termos de busca únicos\n- Proporção de buscas sem resultados\n- Taxa de cliques nos resultados de busca\n- Taxa de carrinho após a busca e taxa de conversão de compra\n- Taxa de modificação de termo de busca e taxa de remoção de filtros\n- Proporção de exposição de produtos esgotados\n- Concentração dos resultados superiores e diversidade de marcas\n- Métricas separadas de desempenho para anúncios e resultados orgânicos\n- Atualidade do índice de busca e número de falhas de indexação\n\nComo 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.\n\n## Prompt prático: como converter políticas em código\n\nMais 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.\n\n```text\nProjete e implemente a função de busca de produtos da nossa loja virtual.\n\n1. Elegibilidade de exposição\n- Incluir como candidatos de busca apenas produtos que estejam à venda, em estado público e sem bloqueio regulatório.\n- Exibir produtos temporariamente esgotados, mas posicioná-los atrás de produtos com estoque nas mesmas condições.\n- Ocultar da busca·categoria produtos com venda encerrada e venda temporariamente suspensa.\n- Na URL direta de produtos com venda encerrada, mostrar aviso de encerramento e produtos substitutos, e remover o botão de compra.\n\n2. Ordenação padrão\n- Refletir a relevância do termo de busca com maior peso.\n- 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.\n- Permitir que cada peso seja alterado por arquivo de configuração ou política administrativa.\n- Ordenar empates de forma estável por product_id em ordem decrescente.\n- Não misturar produtos anunciados à pontuação orgânica; colocá-los em slots separados e marcá-los como 'anúncio'.\n\n3. Navegação da lista\n- Retornar 40 itens por vez.\n- Permitir restaurar termo de busca, ordenação, filtros e página ou cursor pela URL.\n- Ao voltar de uma página de detalhe, restaurar a lista e a posição de rolagem.\n- Usar paginação por cursor para resultados de grande escala.\n\n4. Escopo da busca\n- Priorizar correspondência exata de SKU e modelo.\n- Buscar por nome do produto, marca, categoria, atributos e tags de sinônimo.\n- Tratar espaçamento em coreano e variações de marca em inglês·coreano.\n- Se não houver resultados, mostrar separadamente sugestões de erro de digitação, flexibilização de filtros, categorias relacionadas e recomendações substitutas.\n\n5. Logs de busca\n- 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- Não armazenar ID de membro nem IP nos logs de análise de busca.\n- Mascarar formatos de e-mail, telefone e número de pedido.\n- Separar em configurações o período de retenção do texto original e o período de retenção dos dados agregados.\n\n6. Requisitos técnicos\n- 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.\n- Sugerir índices adequados aos padrões reais de consulta e explicar como verificar o plano de execução.\n- Mesmo em situações de atraso do índice de busca, revalidar status·preço·estoque nas etapas de carrinho e pagamento.\n- Escrever cenários de testes unitários, testes de integração, testes de desempenho e testes de acessibilidade.\n\nAntes 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.\n```\n\nA ú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.\n\n## Projeto de implementação: fixar políticas em dados e API\n\n### Exemplo de modelo de dados\n\n```text\nproducts\n- product_id\n- sales_status\n- stock_status\n- visibility_status\n- compliance_status\n- brand_id\n- category_id\n- searchable_name\n- search_tags\n- price\n- inventory_quantity\n- ranking_feature_version\n- updated_at\n```\n\nNã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.\n\n### Informações a incluir na resposta da API\n\n- Termo de busca normalizado\n- Ordenação e filtros aplicados\n- Grupo de resultados e próximo cursor\n- Número de resultados ou número aproximado de resultados\n- Badges de esgotado·status de venda\n- Se é anúncio e texto de indicação de anúncio\n- Correção de erro de digitação·se houve ampliação do escopo de busca\n- Versão da política de busca e ID de requisição para rastreamento\n\nNã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.\n\n### Projete índices conforme os padrões reais de consulta\n\nEm 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.\n\n```sql\nCREATE INDEX idx_products_visibility\nON products (visibility_status, sales_status, compliance_status);\n\nCREATE INDEX idx_products_search_document\nON products USING GIN (search_document);\n```\n\nQuanto 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.\n\n### Salvaguardas adicionais ao conectar IA generativa\n\n- Usar apenas resultados da API de catálogo para existência de produto, preço, estoque e data de entrega\n- Registrar expansões de termos de busca feitas pelo modelo junto com o texto original e limitar expansões excessivas\n- Priorizar buscas exatas de SKU·modelo em relação à busca semântica\n- Aplicar igualmente filtros de venda suspensa·recall aos candidatos de busca da IA\n- Rastrear IDs de produtos e campos de justificativa expostos na resposta\n- Fazer fallback para busca textual comum em caso de falha do modelo\n- 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\n\n## Testes de aceitação antes do lançamento\n\n| Cenário | Resultado esperado |\n|---|---|\n| Há um produto esgotado cadastrado ontem e um produto com estoque vendido continuamente | O produto esgotado não ocupa o topo padrão |\n| Buscar produto com venda encerrada | Não aparece na lista, e a URL direta mostra aviso de encerramento e estado de compra indisponível |\n| Produto anunciado aparece no slot 1 | É possível identificar imediatamente no card que é anúncio |\n| 0 resultados após aplicar filtro | Indica sugestão de remoção de filtro e se existiam candidatos originais |\n| Busca por “tênis de corrida”, “tênis de jogging” | Produtos relacionados aparecem de forma consistente conforme a política de sinônimos |\n| Abrir detalhe e voltar | Termo de busca, filtros, ordenação, lista e posição de rolagem são restaurados |\n| 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 |\n| Ainda há estoque no índice de busca | Carrinho·pagamento bloqueiam com base no estoque mais recente |\n| O termo de busca inclui e-mail·telefone | Mascarado ou descartado antes de salvar no log |\n| Buscas simultâneas em massa | Atende aos critérios definidos de atraso p95 e taxa de erro |\n| Painel administrativo de termos de busca | Texto original de baixa frequência e padrões sensíveis não são expostos sem tratamento |\n| 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 |\n\n## Trabalho a repetir na etapa operacional\n\nBusca 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.\n\n1. Revisar semanalmente termos de busca sem resultados e termos de busca em forte crescimento.\n2. Atualizar sinônimos e mapeamentos de categoria por meio de procedimento de aprovação.\n3. 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.\n4. Expandir alterações de peso após avaliação offline e teste A/B limitado.\n5. Auditar separadamente a proporção de exposição de anúncios, produtos próprios e resultados orgânicos.\n6. Verificar regularmente período de retenção, permissões de acesso e falhas de mascaramento dos logs de busca.\n7. Reavaliar com tráfego real o uso de índices e consultas lentas.\n\n## Conclusão\n\nA 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.\n\nA 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.","content_html":"\u003cp\u003eA IA pode criar rapidamente uma API de listagem de produtos, uma barra de busca e botões de ordenação. No entanto, \u003cstrong\u003equais produtos mostrar, quais produtos ocultar e o que chamar de “recomendação”\u003c/strong\u003e 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.\u003c/p\u003e\n\u003cp\u003eSe 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”.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#a-classifica%C3%A7%C3%A3o-da-busca-n%C3%A3o-%C3%A9-uma-fun%C3%A7%C3%A3o-t%C3%A9cnica-mas-uma-pol%C3%ADtica-operacional\" class=\"anchor\" id=\"a-classificação-da-busca-não-é-uma-função-técnica-mas-uma-política-operacional\"\u003e\u003c/a\u003eA classificação da busca não é uma função técnica, mas uma política operacional\u003c/h2\u003e\n\u003cp\u003eA 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.\u003c/p\u003e\n\u003cp\u003eEm 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 \u003cstrong\u003eo 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\u003c/strong\u003e.\u003c/p\u003e\n\u003cp\u003eComo 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.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#pontos-de-falha-da-vers%C3%A3o-feita-de-qualquer-jeito-criada-por-um-prompt-de-uma-linha\" class=\"anchor\" id=\"pontos-de-falha-da-versão-feita-de-qualquer-jeito-criada-por-um-prompt-de-uma-linha\"\u003e\u003c/a\u003ePontos de falha da “versão feita de qualquer jeito” criada por um prompt de uma linha\u003c/h2\u003e\n\u003cdiv class=\"overflow-x-auto\"\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003ePolítica indefinida\u003c/th\u003e\n\u003cth\u003eImplementação que a IA pode preencher arbitrariamente\u003c/th\u003e\n\u003cth\u003eRisco operacional real\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Política indefinida\"\u003eOrdenação padrão\u003c/td\u003e\n\u003ctd data-label=\"Implementação que a IA pode preencher arbitrariamente\"\u003e\u003ccode\u003ecreated_at DESC\u003c/code\u003e\u003c/td\u003e\n\u003ctd data-label=\"Risco operacional real\"\u003eProdutos recém-cadastrados, esgotados ou ainda não revisados aparecem no topo\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Política indefinida\"\u003eStatus de venda\u003c/td\u003e\n\u003ctd data-label=\"Implementação que a IA pode preencher arbitrariamente\"\u003eVerifica apenas se foi excluído\u003c/td\u003e\n\u003ctd data-label=\"Risco operacional real\"\u003eProdutos com venda suspensa ou recall aparecem na busca ou podem ser pedidos\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Política indefinida\"\u003eCarregamento da lista\u003c/td\u003e\n\u003ctd data-label=\"Implementação que a IA pode preencher arbitrariamente\"\u003eConsulta completa ou scroll infinito simples\u003c/td\u003e\n\u003ctd data-label=\"Risco operacional real\"\u003eResposta lenta, perda de posição ao voltar, dificuldade de comparação\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Política indefinida\"\u003eEscopo da busca\u003c/td\u003e\n\u003ctd data-label=\"Implementação que a IA pode preencher arbitrariamente\"\u003eCorrespondência parcial apenas pelo nome do produto\u003c/td\u003e\n\u003ctd data-label=\"Risco operacional real\"\u003eFalha em buscas por marca, variedade, modelo ou sinônimo\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Política indefinida\"\u003eSem resultados\u003c/td\u003e\n\u003ctd data-label=\"Implementação que a IA pode preencher arbitrariamente\"\u003eRetorna apenas um array vazio\u003c/td\u003e\n\u003ctd data-label=\"Risco operacional real\"\u003eClientes com alta intenção de compra saem imediatamente\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Política indefinida\"\u003eLogs\u003c/td\u003e\n\u003ctd data-label=\"Implementação que a IA pode preencher arbitrariamente\"\u003eArmazena termo de busca, membro e IP sem tratamento\u003c/td\u003e\n\u003ctd data-label=\"Risco operacional real\"\u003eColeta fora da finalidade, retenção excessiva, risco de exposição de termos sensíveis\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/div\u003e\n\u003cp\u003eA 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.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#1-valor-padr%C3%A3o-de-ordena%C3%A7%C3%A3o-o-que-chamar-de-ordem-recomendada\" class=\"anchor\" id=\"1-valor-padrão-de-ordenação-o-que-chamar-de-ordem-recomendada\"\u003e\u003c/a\u003e1. Valor padrão de ordenação: o que chamar de “ordem recomendada”\u003c/h2\u003e\n\u003cp\u003eA 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.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#primeiro-separe-as-etapas-de-c%C3%A1lculo-do-ranking\" class=\"anchor\" id=\"primeiro-separe-as-etapas-de-cálculo-do-ranking\"\u003e\u003c/a\u003ePrimeiro, separe as etapas de cálculo do ranking\u003c/h3\u003e\n\u003cp\u003eÉ mais seguro dividir os resultados da busca na seguinte ordem, em vez de misturar tudo em um único cálculo.\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e\n\u003cstrong\u003eDeterminação de elegibilidade de exposição:\u003c/strong\u003e incluir como candidatos apenas produtos vendáveis, publicáveis e que não sejam alvo de bloqueio legal ou operacional.\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eCálculo de relevância da busca:\u003c/strong\u003e calcular o quanto nome do produto, marca, categoria, atributos e sinônimos correspondem ao termo pesquisado.\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eCálculo do ranking orgânico:\u003c/strong\u003e combinar sinais como velocidade de venda, taxa de conversão, confiabilidade das avaliações e qualidade de entrega.\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eAplicação de regras de negócio:\u003c/strong\u003e aplicar penalização por falta de estoque, oportunidade de descoberta para novos produtos, limites de diversidade etc.\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eCombinação de slots de anúncio:\u003c/strong\u003e inserir produtos anunciados separadamente do ranking orgânico e exibi-los claramente.\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eTratamento estável de empates:\u003c/strong\u003e quando houver a mesma pontuação, determinar a ordem por uma chave fixa como \u003ccode\u003eproduct_id\u003c/code\u003e.\u003c/li\u003e\n\u003c/ol\u003e\n\u003ch3\u003e\n\u003ca href=\"#a-pontua%C3%A7%C3%A3o-de-recomenda%C3%A7%C3%A3o-deve-ser-uma-f%C3%B3rmula-documentada\" class=\"anchor\" id=\"a-pontuação-de-recomendação-deve-ser-uma-fórmula-documentada\"\u003e\u003c/a\u003eA pontuação de recomendação deve ser uma fórmula documentada\u003c/h3\u003e\n\u003cp\u003eO exemplo a seguir serve apenas para explicar a estrutura e não é uma resposta correta para todas as lojas virtuais.\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\u003cspan\u003eorganic_score =\n\u003c/span\u003e\u003cspan\u003e  0.45 × query_relevance\n\u003c/span\u003e\u003cspan\u003e+ 0.20 × conversion_rate_28d\n\u003c/span\u003e\u003cspan\u003e+ 0.15 × sales_velocity_14d\n\u003c/span\u003e\u003cspan\u003e+ 0.10 × rating_confidence\n\u003c/span\u003e\u003cspan\u003e+ 0.10 × fulfillment_quality\n\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eCada 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.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#itens-detalhados-que-devem-ser-definidos\" class=\"anchor\" id=\"itens-detalhados-que-devem-ser-definidos\"\u003e\u003c/a\u003eItens detalhados que devem ser definidos\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSe o objetivo da ordem recomendada é adequação à busca, probabilidade de compra, satisfação do cliente ou eficiência de estoque\u003c/li\u003e\n\u003cli\u003ePeríodo de agregação e ciclo de atualização de cada sinal\u003c/li\u003e\n\u003cli\u003eSinais de penalização como taxa de cancelamento, taxa de devolução, atraso na entrega e probabilidade de falta de estoque\u003c/li\u003e\n\u003cli\u003eOportunidade de descoberta e acréscimo máximo a serem dados a novos produtos com poucas avaliações\u003c/li\u003e\n\u003cli\u003eRegras de diversidade para evitar que a mesma marca ou o mesmo vendedor ocupem excessivamente o topo\u003c/li\u003e\n\u003cli\u003eChave fixa de ordenação a usar em caso de empate de pontuação\u003c/li\u003e\n\u003cli\u003eRegistro de auditoria com versão da fórmula de ranking, motivo da alteração, horário de aplicação e aprovador\u003c/li\u003e\n\u003cli\u003eMétricas de sucesso e condições de interrupção de testes A/B\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\n\u003ca href=\"#n%C3%A3o-misture-an%C3%BAncios-e-recomenda%C3%A7%C3%B5es-org%C3%A2nicas\" class=\"anchor\" id=\"não-misture-anúncios-e-recomendações-orgânicas\"\u003e\u003c/a\u003eNão misture anúncios e recomendações orgânicas\u003c/h3\u003e\n\u003cp\u003eÉ 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.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#2-produtos-em-estado-anormal-falta-de-estoque-e-suspens%C3%A3o-de-venda-s%C3%A3o-estados-diferentes\" class=\"anchor\" id=\"2-produtos-em-estado-anormal-falta-de-estoque-e-suspensão-de-venda-são-estados-diferentes\"\u003e\u003c/a\u003e2. Produtos em estado anormal: falta de estoque e suspensão de venda são estados diferentes\u003c/h2\u003e\n\u003cp\u003eSe todas as exceções forem tratadas com um único \u003ccode\u003eis_sold_out\u003c/code\u003e, busca, detalhe, carrinho e validação do pedido ficarão desalinhados. No mínimo, é preciso separar \u003cstrong\u003estatus de venda, status de estoque, status de visibilidade e status regulatório\u003c/strong\u003e.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#modelo-de-status-recomendado\" class=\"anchor\" id=\"modelo-de-status-recomendado\"\u003e\u003c/a\u003eModelo de status recomendado\u003c/h3\u003e\n\u003cdiv class=\"overflow-x-auto\"\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eStatus\u003c/th\u003e\n\u003cth\u003eBusca·lista\u003c/th\u003e\n\u003cth\u003eDetalhe por URL direta\u003c/th\u003e\n\u003cth\u003eCarrinho·pedido\u003c/th\u003e\n\u003cth\u003eTratamento recomendado\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Status\"\u003eÀ venda·com estoque\u003c/td\u003e\n\u003ctd data-label=\"Busca·lista\"\u003eExposição normal\u003c/td\u003e\n\u003ctd data-label=\"Detalhe por URL direta\"\u003eExibição normal\u003c/td\u003e\n\u003ctd data-label=\"Carrinho·pedido\"\u003ePossível\u003c/td\u003e\n\u003ctd data-label=\"Tratamento recomendado\"\u003eCandidato padrão\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Status\"\u003eÀ venda·temporariamente esgotado\u003c/td\u003e\n\u003ctd data-label=\"Busca·lista\"\u003ePode ser exibido, mas com penalização ou em posição inferior\u003c/td\u003e\n\u003ctd data-label=\"Detalhe por URL direta\"\u003eExibir esgotado·alerta de reposição\u003c/td\u003e\n\u003ctd data-label=\"Carrinho·pedido\"\u003eImpossível\u003c/td\u003e\n\u003ctd data-label=\"Tratamento recomendado\"\u003ePreservar possibilidade de reposição\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Status\"\u003eVenda temporariamente suspensa\u003c/td\u003e\n\u003ctd data-label=\"Busca·lista\"\u003eOculto por padrão\u003c/td\u003e\n\u003ctd data-label=\"Detalhe por URL direta\"\u003eAviso de suspensão temporária\u003c/td\u003e\n\u003ctd data-label=\"Carrinho·pedido\"\u003eImpossível\u003c/td\u003e\n\u003ctd data-label=\"Tratamento recomendado\"\u003eRestaurar quando retomado\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Status\"\u003eVenda encerrada\u003c/td\u003e\n\u003ctd data-label=\"Busca·lista\"\u003eOculto da busca·categoria\u003c/td\u003e\n\u003ctd data-label=\"Detalhe por URL direta\"\u003eAviso de encerramento e produtos substitutos\u003c/td\u003e\n\u003ctd data-label=\"Carrinho·pedido\"\u003eImpossível\u003c/td\u003e\n\u003ctd data-label=\"Tratamento recomendado\"\u003ePreservar links existentes e contexto de CS\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Status\"\u003eRascunho·em revisão\u003c/td\u003e\n\u003ctd data-label=\"Busca·lista\"\u003eTotalmente oculto\u003c/td\u003e\n\u003ctd data-label=\"Detalhe por URL direta\"\u003eApenas administradores autorizados\u003c/td\u003e\n\u003ctd data-label=\"Carrinho·pedido\"\u003eImpossível\u003c/td\u003e\n\u003ctd data-label=\"Tratamento recomendado\"\u003eRevisão antes da publicação\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Status\"\u003eRecall·bloqueio legal\u003c/td\u003e\n\u003ctd data-label=\"Busca·lista\"\u003eTotalmente oculto\u003c/td\u003e\n\u003ctd data-label=\"Detalhe por URL direta\"\u003eAviso de segurança se necessário\u003c/td\u003e\n\u003ctd data-label=\"Carrinho·pedido\"\u003eImpossível\u003c/td\u003e\n\u003ctd data-label=\"Tratamento recomendado\"\u003ePriorizar aviso de segurança em vez de recomendação alternativa\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/div\u003e\n\u003cp\u003eProdutos 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 \u003ccode\u003e410 Gone\u003c/code\u003e deve ser decidido conforme tráfego de busca, necessidade de aviso legal e valor de conteúdo alternativo.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#o-%C3%ADndice-de-busca-n%C3%A3o-%C3%A9-a-autoridade-final-sobre-a-possibilidade-de-pedido\" class=\"anchor\" id=\"o-índice-de-busca-não-é-a-autoridade-final-sobre-a-possibilidade-de-pedido\"\u003e\u003c/a\u003eO índice de busca não é a autoridade final sobre a possibilidade de pedido\u003c/h3\u003e\n\u003cp\u003eO í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.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRevalidar status de venda e estoque ao adicionar ao carrinho\u003c/li\u003e\n\u003cli\u003eRevalidar preço, desconto e estoque ao entrar no formulário de pedido\u003c/li\u003e\n\u003cli\u003eReservar estoque ou fazer baixa atômica imediatamente antes do pagamento\u003c/li\u003e\n\u003cli\u003eRemoção emergencial do índice de busca quando ocorrer evento de suspensão de venda\u003c/li\u003e\n\u003cli\u003eMonitorar atraso de indexação e número de falhas\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSem essas regras, incidentes de CS se repetem em que a tela de busca parece normal, mas a falha só ocorre na etapa de pagamento.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#3-forma-de-exposi%C3%A7%C3%A3o-da-lista-usar-pagina%C3%A7%C3%A3o-ver-mais-ou-scroll-infinito\" class=\"anchor\" id=\"3-forma-de-exposição-da-lista-usar-paginação-ver-mais-ou-scroll-infinito\"\u003e\u003c/a\u003e3. Forma de exposição da lista: usar paginação, “ver mais” ou scroll infinito\u003c/h2\u003e\n\u003cp\u003eSe 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.\u003c/p\u003e\n\u003cdiv class=\"overflow-x-auto\"\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eForma\u003c/th\u003e\n\u003cth\u003ePontos fortes\u003c/th\u003e\n\u003cth\u003ePontos fracos\u003c/th\u003e\n\u003cth\u003eSituações adequadas\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Forma\"\u003ePaginação numérica\u003c/td\u003e\n\u003ctd data-label=\"Pontos fortes\"\u003eFácil entender a posição atual e o tamanho dos resultados, possibilidade de revisitar uma página específica\u003c/td\u003e\n\u003ctd data-label=\"Pontos fracos\"\u003eA troca de página interrompe o fluxo e a comparação entre páginas é trabalhosa\u003c/td\u003e\n\u003ctd data-label=\"Situações adequadas\"\u003eBusca em desktop, exploração profunda, resultados compartilháveis\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Forma\"\u003eVer mais\u003c/td\u003e\n\u003ctd data-label=\"Pontos fortes\"\u003eO usuário controla o carregamento mantendo os produtos existentes\u003c/td\u003e\n\u003ctd data-label=\"Pontos fracos\"\u003eSe houver muitos resultados, DOM e memória crescem\u003c/td\u003e\n\u003ctd data-label=\"Situações adequadas\"\u003eNavegação mobile·por categoria, resultados de porte médio\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Forma\"\u003eScroll infinito\u003c/td\u003e\n\u003ctd data-label=\"Pontos fortes\"\u003eExploração contínua é natural\u003c/td\u003e\n\u003ctd data-label=\"Pontos fracos\"\u003ePosição, fim e tamanho total são pouco claros, e restaurar ao voltar é difícil\u003c/td\u003e\n\u003ctd data-label=\"Situações adequadas\"\u003eTelas em formato de feed onde descoberta é mais importante que comparação\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/div\u003e\n\u003cp\u003eNa prática, é possível priorizar \u003cstrong\u003epaginação ou “ver mais + URL de página restaurável” para resultados de busca\u003c/strong\u003e, e scroll infinito para feeds de recomendação voltados à descoberta. Mesmo ao usar scroll infinito puro, as seguintes condições devem ser atendidas.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSalvar termo de busca, ordenação, filtros e página ou cursor na URL ou em estado restaurável\u003c/li\u003e\n\u003cli\u003eRestaurar a lista anterior e a posição de rolagem ao voltar da página de detalhe\u003c/li\u003e\n\u003cli\u003eDar suporte a navegação por teclado, leitores de tela e movimentação de foco\u003c/li\u003e\n\u003cli\u003eFornecer alternativas acessíveis para o rodapé e principais links de navegação\u003c/li\u003e\n\u003cli\u003eFornecer UI de falha de carregamento e nova tentativa\u003c/li\u003e\n\u003cli\u003ePreparar URL única ou estrutura de links acessível para cada grupo de resultados\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\n\u003ca href=\"#pagina%C3%A7%C3%A3o-por-offset-e-por-cursor\" class=\"anchor\" id=\"paginação-por-offset-e-por-cursor\"\u003e\u003c/a\u003ePaginação por offset e por cursor\u003c/h3\u003e\n\u003cp\u003eOffsets profundos como \u003ccode\u003eOFFSET 5000 LIMIT 40\u003c/code\u003e 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.\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\u003cspan\u003eORDER BY score DESC, product_id DESC\n\u003c/span\u003e\u003cspan\u003ecursor = last_score + last_product_id\n\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSe 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.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#4-escopo-da-busca-e-tela-sem-resultados-conectar-a-express%C3%A3o-do-cliente-aos-dados-de-produto\" class=\"anchor\" id=\"4-escopo-da-busca-e-tela-sem-resultados-conectar-a-expressão-do-cliente-aos-dados-de-produto\"\u003e\u003c/a\u003e4. Escopo da busca e tela sem resultados: conectar a expressão do cliente aos dados de produto\u003c/h2\u003e\n\u003cp\u003eO 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.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#prioridade-dos-campos-de-busca\" class=\"anchor\" id=\"prioridade-dos-campos-de-busca\"\u003e\u003c/a\u003ePrioridade dos campos de busca\u003c/h3\u003e\n\u003cdiv class=\"overflow-x-auto\"\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCampo\u003c/th\u003e\n\u003cth\u003ePrioridade recomendada\u003c/th\u003e\n\u003cth\u003eExemplo\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Campo\"\u003eSKU·modelo·código de barras\u003c/td\u003e\n\u003ctd data-label=\"Prioridade recomendada\"\u003eMuito alta\u003c/td\u003e\n\u003ctd data-label=\"Exemplo\"\u003e\n\u003ccode\u003eSM-S928N\u003c/code\u003e, \u003ccode\u003e880...\u003c/code\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Campo\"\u003eNome do produto\u003c/td\u003e\n\u003ctd data-label=\"Prioridade recomendada\"\u003eAlta\u003c/td\u003e\n\u003ctd data-label=\"Exemplo\"\u003eMaçã busa de Cheongsong 3kg\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Campo\"\u003eMarca·fabricante\u003c/td\u003e\n\u003ctd data-label=\"Prioridade recomendada\"\u003eAlta\u003c/td\u003e\n\u003ctd data-label=\"Exemplo\"\u003eSamsung, Apple\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Campo\"\u003eCategoria·tipo de produto\u003c/td\u003e\n\u003ctd data-label=\"Prioridade recomendada\"\u003eMédia ou superior\u003c/td\u003e\n\u003ctd data-label=\"Exemplo\"\u003eFruta, tênis de corrida\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Campo\"\u003eAtributos principais\u003c/td\u003e\n\u003ctd data-label=\"Prioridade recomendada\"\u003eMédia ou superior\u003c/td\u003e\n\u003ctd data-label=\"Exemplo\"\u003eCapacidade, cor, especificação, modelos compatíveis\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Campo\"\u003eSinônimos·apelidos·variedades·tags\u003c/td\u003e\n\u003ctd data-label=\"Prioridade recomendada\"\u003eMédia ou superior\u003c/td\u003e\n\u003ctd data-label=\"Exemplo\"\u003etênis de jogging↔tênis de corrida, maçã↔busa\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Campo\"\u003eDescrição detalhada\u003c/td\u003e\n\u003ctd data-label=\"Prioridade recomendada\"\u003eBaixa\u003c/td\u003e\n\u003ctd data-label=\"Exemplo\"\u003ePeso baixo para reduzir ruído de descrições longas\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Campo\"\u003eCorpo das avaliações\u003c/td\u003e\n\u003ctd data-label=\"Prioridade recomendada\"\u003eOpcional\u003c/td\u003e\n\u003ctd data-label=\"Exemplo\"\u003eUso limitado após revisão de qualidade·spam·dados pessoais\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/div\u003e\n\u003cp\u003eEm 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.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#pipeline-de-busca-recomendado\" class=\"anchor\" id=\"pipeline-de-busca-recomendado\"\u003e\u003c/a\u003ePipeline de busca recomendado\u003c/h3\u003e\n\u003col\u003e\n\u003cli\u003eValidar o comprimento da entrada e os caracteres permitidos.\u003c/li\u003e\n\u003cli\u003eNormalizar maiúsculas/minúsculas, espaços, caracteres especiais e unidades.\u003c/li\u003e\n\u003cli\u003eVerificar primeiro correspondência exata com código de produto.\u003c/li\u003e\n\u003cli\u003eAplicar tokenização e variações morfológicas·ortográficas.\u003c/li\u003e\n\u003cli\u003eExpandir sinônimos e dicionários de categoria gerenciados pelo operador.\u003c/li\u003e\n\u003cli\u003eEncontrar candidatos com busca textual.\u003c/li\u003e\n\u003cli\u003eSe necessário, usar busca semântica para geração auxiliar de candidatos.\u003c/li\u003e\n\u003cli\u003eFiltrar status de venda·visibilidade·regulatório.\u003c/li\u003e\n\u003cli\u003eCalcular pontuação orgânica e combinar anúncios separadamente.\u003c/li\u003e\n\u003cli\u003eRetornar resultados e informações de diagnóstico.\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003eMesmo 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 \u003cstrong\u003ebusca exata + relevância textual + busca semântica opcional\u003c/strong\u003e. 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.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#a-tela-sem-resultados-%C3%A9-a-segunda-prateleira\" class=\"anchor\" id=\"a-tela-sem-resultados-é-a-segunda-prateleira\"\u003e\u003c/a\u003eA tela sem resultados é a segunda prateleira\u003c/h3\u003e\n\u003cp\u003eQuando 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.\u003c/p\u003e\n\u003cp\u003eA composição recomendada é a seguinte.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMostrar exatamente o termo inserido pelo usuário e informar claramente que não há produtos correspondentes\u003c/li\u003e\n\u003cli\u003eSugerir correções de erro de digitação e sinônimos\u003c/li\u003e\n\u003cli\u003eSe o resultado chegou a 0 por causa de filtros, indicar filtros removíveis\u003c/li\u003e\n\u003cli\u003eApresentar resultados com escopo ampliado com rótulo separado\u003c/li\u003e\n\u003cli\u003eExpor categorias relacionadas, produtos substitutos e produtos populares gerais de forma distinta\u003c/li\u003e\n\u003cli\u003eConectar a solicitação de reposição·entrada de produto ou atendimento ao cliente\u003c/li\u003e\n\u003cli\u003eRegistrar eventos de busca sem resultados na análise administrativa\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e“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.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#5-hist%C3%B3rico-de-busca-gerenciar-dados-de-pesquisa-de-mercado-e-dados-pessoais-em-conjunto\" class=\"anchor\" id=\"5-histórico-de-busca-gerenciar-dados-de-pesquisa-de-mercado-e-dados-pessoais-em-conjunto\"\u003e\u003c/a\u003e5. Histórico de busca: gerenciar dados de pesquisa de mercado e dados pessoais em conjunto\u003c/h2\u003e\n\u003cp\u003eTermos 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.\u003c/p\u003e\n\u003cp\u003eNo 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.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#itens-de-coleta-recomendados\" class=\"anchor\" id=\"itens-de-coleta-recomendados\"\u003e\u003c/a\u003eItens de coleta recomendados\u003c/h3\u003e\n\u003cdiv class=\"overflow-x-auto\"\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCategoria\u003c/th\u003e\n\u003cth\u003eTratamento recomendado\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Categoria\"\u003eTermo de busca normalizado\u003c/td\u003e\n\u003ctd data-label=\"Tratamento recomendado\"\u003eAgregar por dia·hora e minimizar o período de retenção do texto original\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Categoria\"\u003eNúmero de resultados\u003c/td\u003e\n\u003ctd data-label=\"Tratamento recomendado\"\u003eArmazenar se foi 0 e faixas de valor\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Categoria\"\u003eFiltros·ordenação aplicados\u003c/td\u003e\n\u003ctd data-label=\"Tratamento recomendado\"\u003eArmazenar apenas o escopo necessário para análise de qualidade da busca\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Categoria\"\u003eCliques·carrinho·compras\u003c/td\u003e\n\u003ctd data-label=\"Tratamento recomendado\"\u003eSe possível, armazenar como métricas agregadas por termo de busca\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Categoria\"\u003eConexão de sessão\u003c/td\u003e\n\u003ctd data-label=\"Tratamento recomendado\"\u003eUsar identificador aleatório de curta duração apenas quando indispensável\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Categoria\"\u003eID de membro·IP·localização exata\u003c/td\u003e\n\u003ctd data-label=\"Tratamento recomendado\"\u003eExcluir dos logs de análise de busca se não houver finalidade e base claras\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Categoria\"\u003eDados pessoais no texto original\u003c/td\u003e\n\u003ctd data-label=\"Tratamento recomendado\"\u003eMascarar ou descartar padrões de e-mail·telefone·número de pedido\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/div\u003e\n\u003cp\u003eUm 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.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#m%C3%A9tricas-necess%C3%A1rias-no-painel-administrativo\" class=\"anchor\" id=\"métricas-necessárias-no-painel-administrativo\"\u003e\u003c/a\u003eMétricas necessárias no painel administrativo\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eVolume de buscas e número de termos de busca únicos\u003c/li\u003e\n\u003cli\u003eProporção de buscas sem resultados\u003c/li\u003e\n\u003cli\u003eTaxa de cliques nos resultados de busca\u003c/li\u003e\n\u003cli\u003eTaxa de carrinho após a busca e taxa de conversão de compra\u003c/li\u003e\n\u003cli\u003eTaxa de modificação de termo de busca e taxa de remoção de filtros\u003c/li\u003e\n\u003cli\u003eProporção de exposição de produtos esgotados\u003c/li\u003e\n\u003cli\u003eConcentração dos resultados superiores e diversidade de marcas\u003c/li\u003e\n\u003cli\u003eMétricas separadas de desempenho para anúncios e resultados orgânicos\u003c/li\u003e\n\u003cli\u003eAtualidade do índice de busca e número de falhas de indexação\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eComo 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.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#prompt-pr%C3%A1tico-como-converter-pol%C3%ADticas-em-c%C3%B3digo\" class=\"anchor\" id=\"prompt-prático-como-converter-políticas-em-código\"\u003e\u003c/a\u003ePrompt prático: como converter políticas em código\u003c/h2\u003e\n\u003cp\u003eMais 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.\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\u003cspan\u003eProjete e implemente a função de busca de produtos da nossa loja virtual.\n\u003c/span\u003e\u003cspan\u003e\n\u003c/span\u003e\u003cspan\u003e1. Elegibilidade de exposição\n\u003c/span\u003e\u003cspan\u003e- Incluir como candidatos de busca apenas produtos que estejam à venda, em estado público e sem bloqueio regulatório.\n\u003c/span\u003e\u003cspan\u003e- Exibir produtos temporariamente esgotados, mas posicioná-los atrás de produtos com estoque nas mesmas condições.\n\u003c/span\u003e\u003cspan\u003e- Ocultar da busca·categoria produtos com venda encerrada e venda temporariamente suspensa.\n\u003c/span\u003e\u003cspan\u003e- Na URL direta de produtos com venda encerrada, mostrar aviso de encerramento e produtos substitutos, e remover o botão de compra.\n\u003c/span\u003e\u003cspan\u003e\n\u003c/span\u003e\u003cspan\u003e2. Ordenação padrão\n\u003c/span\u003e\u003cspan\u003e- Refletir a relevância do termo de busca com maior peso.\n\u003c/span\u003e\u003cspan\u003e- 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.\n\u003c/span\u003e\u003cspan\u003e- Permitir que cada peso seja alterado por arquivo de configuração ou política administrativa.\n\u003c/span\u003e\u003cspan\u003e- Ordenar empates de forma estável por product_id em ordem decrescente.\n\u003c/span\u003e\u003cspan\u003e- Não misturar produtos anunciados à pontuação orgânica; colocá-los em slots separados e marcá-los como 'anúncio'.\n\u003c/span\u003e\u003cspan\u003e\n\u003c/span\u003e\u003cspan\u003e3. Navegação da lista\n\u003c/span\u003e\u003cspan\u003e- Retornar 40 itens por vez.\n\u003c/span\u003e\u003cspan\u003e- Permitir restaurar termo de busca, ordenação, filtros e página ou cursor pela URL.\n\u003c/span\u003e\u003cspan\u003e- Ao voltar de uma página de detalhe, restaurar a lista e a posição de rolagem.\n\u003c/span\u003e\u003cspan\u003e- Usar paginação por cursor para resultados de grande escala.\n\u003c/span\u003e\u003cspan\u003e\n\u003c/span\u003e\u003cspan\u003e4. Escopo da busca\n\u003c/span\u003e\u003cspan\u003e- Priorizar correspondência exata de SKU e modelo.\n\u003c/span\u003e\u003cspan\u003e- Buscar por nome do produto, marca, categoria, atributos e tags de sinônimo.\n\u003c/span\u003e\u003cspan\u003e- Tratar espaçamento em coreano e variações de marca em inglês·coreano.\n\u003c/span\u003e\u003cspan\u003e- Se não houver resultados, mostrar separadamente sugestões de erro de digitação, flexibilização de filtros, categorias relacionadas e recomendações substitutas.\n\u003c/span\u003e\u003cspan\u003e\n\u003c/span\u003e\u003cspan\u003e5. Logs de busca\n\u003c/span\u003e\u003cspan\u003e- 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\u003c/span\u003e\u003cspan\u003e- Não armazenar ID de membro nem IP nos logs de análise de busca.\n\u003c/span\u003e\u003cspan\u003e- Mascarar formatos de e-mail, telefone e número de pedido.\n\u003c/span\u003e\u003cspan\u003e- Separar em configurações o período de retenção do texto original e o período de retenção dos dados agregados.\n\u003c/span\u003e\u003cspan\u003e\n\u003c/span\u003e\u003cspan\u003e6. Requisitos técnicos\n\u003c/span\u003e\u003cspan\u003e- 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.\n\u003c/span\u003e\u003cspan\u003e- Sugerir índices adequados aos padrões reais de consulta e explicar como verificar o plano de execução.\n\u003c/span\u003e\u003cspan\u003e- Mesmo em situações de atraso do índice de busca, revalidar status·preço·estoque nas etapas de carrinho e pagamento.\n\u003c/span\u003e\u003cspan\u003e- Escrever cenários de testes unitários, testes de integração, testes de desempenho e testes de acessibilidade.\n\u003c/span\u003e\u003cspan\u003e\n\u003c/span\u003e\u003cspan\u003eAntes 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.\n\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eA ú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.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#projeto-de-implementa%C3%A7%C3%A3o-fixar-pol%C3%ADticas-em-dados-e-api\" class=\"anchor\" id=\"projeto-de-implementação-fixar-políticas-em-dados-e-api\"\u003e\u003c/a\u003eProjeto de implementação: fixar políticas em dados e API\u003c/h2\u003e\n\u003ch3\u003e\n\u003ca href=\"#exemplo-de-modelo-de-dados\" class=\"anchor\" id=\"exemplo-de-modelo-de-dados\"\u003e\u003c/a\u003eExemplo de modelo de dados\u003c/h3\u003e\n\u003cpre\u003e\u003ccode\u003e\u003cspan\u003eproducts\n\u003c/span\u003e\u003cspan\u003e- product_id\n\u003c/span\u003e\u003cspan\u003e- sales_status\n\u003c/span\u003e\u003cspan\u003e- stock_status\n\u003c/span\u003e\u003cspan\u003e- visibility_status\n\u003c/span\u003e\u003cspan\u003e- compliance_status\n\u003c/span\u003e\u003cspan\u003e- brand_id\n\u003c/span\u003e\u003cspan\u003e- category_id\n\u003c/span\u003e\u003cspan\u003e- searchable_name\n\u003c/span\u003e\u003cspan\u003e- search_tags\n\u003c/span\u003e\u003cspan\u003e- price\n\u003c/span\u003e\u003cspan\u003e- inventory_quantity\n\u003c/span\u003e\u003cspan\u003e- ranking_feature_version\n\u003c/span\u003e\u003cspan\u003e- updated_at\n\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eNão coloque vários significados em um único campo. Por exemplo, se houver apenas \u003ccode\u003estatus = 1\u003c/code\u003e, 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.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#informa%C3%A7%C3%B5es-a-incluir-na-resposta-da-api\" class=\"anchor\" id=\"informações-a-incluir-na-resposta-da-api\"\u003e\u003c/a\u003eInformações a incluir na resposta da API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTermo de busca normalizado\u003c/li\u003e\n\u003cli\u003eOrdenação e filtros aplicados\u003c/li\u003e\n\u003cli\u003eGrupo de resultados e próximo cursor\u003c/li\u003e\n\u003cli\u003eNúmero de resultados ou número aproximado de resultados\u003c/li\u003e\n\u003cli\u003eBadges de esgotado·status de venda\u003c/li\u003e\n\u003cli\u003eSe é anúncio e texto de indicação de anúncio\u003c/li\u003e\n\u003cli\u003eCorreção de erro de digitação·se houve ampliação do escopo de busca\u003c/li\u003e\n\u003cli\u003eVersão da política de busca e ID de requisição para rastreamento\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eNã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.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#projete-%C3%ADndices-conforme-os-padr%C3%B5es-reais-de-consulta\" class=\"anchor\" id=\"projete-índices-conforme-os-padrões-reais-de-consulta\"\u003e\u003c/a\u003eProjete índices conforme os padrões reais de consulta\u003c/h3\u003e\n\u003cp\u003eEm 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 \u003ccode\u003etsvector\u003c/code\u003e e índice GIN; se for necessária busca por strings semelhantes, é possível usar \u003ccode\u003epg_trgm\u003c/code\u003e. Mesmo usando um mecanismo de busca externo, o princípio é o mesmo.\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\u003cspan\u003eCREATE INDEX \u003c/span\u003e\u003cspan\u003eidx_products_visibility\n\u003c/span\u003e\u003cspan\u003eON\u003c/span\u003e\u003cspan\u003e products (visibility_status, sales_status, compliance_status);\n\u003c/span\u003e\u003cspan\u003e\n\u003c/span\u003e\u003cspan\u003eCREATE INDEX \u003c/span\u003e\u003cspan\u003eidx_products_search_document\n\u003c/span\u003e\u003cspan\u003eON\u003c/span\u003e\u003cspan\u003e products USING GIN (search_document);\n\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eQuanto 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 \u003ccode\u003eEXPLAIN ANALYZE\u003c/code\u003e, 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.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#salvaguardas-adicionais-ao-conectar-ia-generativa\" class=\"anchor\" id=\"salvaguardas-adicionais-ao-conectar-ia-generativa\"\u003e\u003c/a\u003eSalvaguardas adicionais ao conectar IA generativa\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUsar apenas resultados da API de catálogo para existência de produto, preço, estoque e data de entrega\u003c/li\u003e\n\u003cli\u003eRegistrar expansões de termos de busca feitas pelo modelo junto com o texto original e limitar expansões excessivas\u003c/li\u003e\n\u003cli\u003ePriorizar buscas exatas de SKU·modelo em relação à busca semântica\u003c/li\u003e\n\u003cli\u003eAplicar igualmente filtros de venda suspensa·recall aos candidatos de busca da IA\u003c/li\u003e\n\u003cli\u003eRastrear IDs de produtos e campos de justificativa expostos na resposta\u003c/li\u003e\n\u003cli\u003eFazer fallback para busca textual comum em caso de falha do modelo\u003c/li\u003e\n\u003cli\u003eSeparar 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\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\n\u003ca href=\"#testes-de-aceita%C3%A7%C3%A3o-antes-do-lan%C3%A7amento\" class=\"anchor\" id=\"testes-de-aceitação-antes-do-lançamento\"\u003e\u003c/a\u003eTestes de aceitação antes do lançamento\u003c/h2\u003e\n\u003cdiv class=\"overflow-x-auto\"\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCenário\u003c/th\u003e\n\u003cth\u003eResultado esperado\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Cenário\"\u003eHá um produto esgotado cadastrado ontem e um produto com estoque vendido continuamente\u003c/td\u003e\n\u003ctd data-label=\"Resultado esperado\"\u003eO produto esgotado não ocupa o topo padrão\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Cenário\"\u003eBuscar produto com venda encerrada\u003c/td\u003e\n\u003ctd data-label=\"Resultado esperado\"\u003eNão aparece na lista, e a URL direta mostra aviso de encerramento e estado de compra indisponível\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Cenário\"\u003eProduto anunciado aparece no slot 1\u003c/td\u003e\n\u003ctd data-label=\"Resultado esperado\"\u003eÉ possível identificar imediatamente no card que é anúncio\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Cenário\"\u003e0 resultados após aplicar filtro\u003c/td\u003e\n\u003ctd data-label=\"Resultado esperado\"\u003eIndica sugestão de remoção de filtro e se existiam candidatos originais\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Cenário\"\u003eBusca por “tênis de corrida”, “tênis de jogging”\u003c/td\u003e\n\u003ctd data-label=\"Resultado esperado\"\u003eProdutos relacionados aparecem de forma consistente conforme a política de sinônimos\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Cenário\"\u003eAbrir detalhe e voltar\u003c/td\u003e\n\u003ctd data-label=\"Resultado esperado\"\u003eTermo de busca, filtros, ordenação, lista e posição de rolagem são restaurados\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Cenário\"\u003eHá vários produtos com a mesma pontuação\u003c/td\u003e\n\u003ctd data-label=\"Resultado esperado\"\u003eA ordem fixa é mantida sem duplicações·omissões mesmo repetindo a mudança de página\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Cenário\"\u003eAinda há estoque no índice de busca\u003c/td\u003e\n\u003ctd data-label=\"Resultado esperado\"\u003eCarrinho·pagamento bloqueiam com base no estoque mais recente\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Cenário\"\u003eO termo de busca inclui e-mail·telefone\u003c/td\u003e\n\u003ctd data-label=\"Resultado esperado\"\u003eMascarado ou descartado antes de salvar no log\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Cenário\"\u003eBuscas simultâneas em massa\u003c/td\u003e\n\u003ctd data-label=\"Resultado esperado\"\u003eAtende aos critérios definidos de atraso p95 e taxa de erro\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Cenário\"\u003ePainel administrativo de termos de busca\u003c/td\u003e\n\u003ctd data-label=\"Resultado esperado\"\u003eTexto original de baixa frequência e padrões sensíveis não são expostos sem tratamento\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Cenário\"\u003eAlteração de pesos do ranking\u003c/td\u003e\n\u003ctd data-label=\"Resultado esperado\"\u003eVersão da política, aprovador, horário de aplicação e métricas antes/depois são registrados\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/div\u003e\n\u003ch2\u003e\n\u003ca href=\"#trabalho-a-repetir-na-etapa-operacional\" class=\"anchor\" id=\"trabalho-a-repetir-na-etapa-operacional\"\u003e\u003c/a\u003eTrabalho a repetir na etapa operacional\u003c/h2\u003e\n\u003cp\u003eBusca 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.\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003eRevisar semanalmente termos de busca sem resultados e termos de busca em forte crescimento.\u003c/li\u003e\n\u003cli\u003eAtualizar sinônimos e mapeamentos de categoria por meio de procedimento de aprovação.\u003c/li\u003e\n\u003cli\u003eObservar em conjunto taxa de exposição de esgotados, taxa de cliques, taxa de conversão e taxa de modificação de termos de busca.\u003c/li\u003e\n\u003cli\u003eExpandir alterações de peso após avaliação offline e teste A/B limitado.\u003c/li\u003e\n\u003cli\u003eAuditar separadamente a proporção de exposição de anúncios, produtos próprios e resultados orgânicos.\u003c/li\u003e\n\u003cli\u003eVerificar regularmente período de retenção, permissões de acesso e falhas de mascaramento dos logs de busca.\u003c/li\u003e\n\u003cli\u003eReavaliar com tráfego real o uso de índices e consultas lentas.\u003c/li\u003e\n\u003c/ol\u003e\n\u003ch2\u003e\n\u003ca href=\"#conclus%C3%A3o\" class=\"anchor\" id=\"conclusão\"\u003e\u003c/a\u003eConclusão\u003c/h2\u003e\n\u003cp\u003eA 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 \u003cstrong\u003evalor padrão de ordenação, status de produto, navegação de lista, escopo da busca e tratamento sem resultados, e logs de busca\u003c/strong\u003e 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.\u003c/p\u003e\n\u003cp\u003eA 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.\u003c/p\u003e\n","tags":["Desenvolvimento de IA","Busca em lojas online","Política de busca","Operações de ecommerce","UX de busca"],"faqs":[{"question":"Por que é problemático deixar a ordenação padrão da busca de um shopping online como mais recentes cadastrados?","answer":"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."},{"question":"Os pesos da ordenação por recomendação podem ser definidos automaticamente pela IA?","answer":"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."},{"question":"Produtos esgotados devem ser completamente ocultados dos resultados de busca?","answer":"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."},{"question":"É correto remover a página de detalhes de um produto cuja venda foi encerrada usando 404?","answer":"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."},{"question":"Entre paginação e rolagem infinita, qual método é melhor para um shopping online?","answer":"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."},{"question":"Ao adotar busca por IA ou busca vetorial, a busca textual existente deixa de ser necessária?","answer":"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."},{"question":"Se apenas o termo de busca e o número de buscas forem armazenados, não há problema de privacidade?","answer":"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."},{"question":"É permitido colocar produtos anunciados no topo da ordenação por recomendação?","answer":"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."},{"question":"Quais índices de banco de dados são necessários para a busca de produtos?","answer":"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."},{"question":"Com quais métricas a qualidade da busca deve ser avaliada?","answer":"É 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."},{"question":"Por quanto tempo os logs de busca devem ser mantidos?","answer":"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."},{"question":"Qual é a frase mais importante para fazer a IA perguntar antes da implementação?","answer":"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":[{"url":"https://www.ftc.go.kr/www/selectBbsNttView.do?bordCd=3\u0026key=12\u0026nttSn=43448\u0026pageIndex=1\u0026pageUnit=10\u0026rltnNttSn=46624\u0026searchCnd=all\u0026searchViolt=0604","title":"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","type":"source"},{"url":"https://www.lawtimes.co.kr/news/articleView.html?idxno=218796","title":"Jornal Jurídico: processo Coupang-Comissão de Comércio Justo torna controversas as questões do caso Naver Shopping","type":"source"},{"url":"https://www.law.go.kr/LSW/lsInfoP.do?lsId=002011","title":"Centro Nacional de Informações sobre Legislação: Lei sobre a Equidade na Rotulagem e na Publicidade","type":"source"},{"url":"https://case.ftc.go.kr/ocp/co/openDocView.do?docCnvrMnNo=12808\u0026docId=20221229104156671154\u0026docTy=LTFR\u0026id=OCPLTFR20140759018192","title":"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","type":"source"},{"url":"https://www.ftc.go.kr/www/selectBbsNttView.do?bordCd=3\u0026key=12\u0026nttSn=46006\u0026pageIndex=2\u0026pageUnit=10\u0026rltnNttSn=37048\u0026searchCnd=all\u0026searchCtgry=01%2C02\u0026searchKrwd=%EA%B4%91%EA%B3%A0\u0026searchViolt=0609","title":"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","type":"source"},{"url":"https://www.law.go.kr/LSW/lsInfoP.do?ancYnChk=0\u0026lsId=011357","title":"Centro Nacional de Informações sobre Legislação: Lei de Proteção de Informações Pessoais","type":"source"},{"url":"https://baymard.com/learn/ecommerce-ux-best-practices","title":"Baymard Institute: melhores práticas de UX para ecommerce orientadas por dados","type":"source"},{"url":"https://developers.google.com/search/docs/specialty/ecommerce/pagination-and-incremental-page-loading","title":"Google Search Central: paginação e carregamento incremental de páginas","type":"source"},{"url":"https://www.postgresql.org/docs/current/textsearch.html","title":"Documentação do PostgreSQL: pesquisa de texto completo","type":"source"},{"url":"https://www.postgresql.org/docs/current/textsearch-indexes.html","title":"Documentação do PostgreSQL: tipos de índice preferenciais para pesquisa de texto","type":"source"},{"url":"https://www.postgresql.org/docs/current/pgtrgm.html","title":"Documentação do PostgreSQL: pg_trgm","type":"source"}],"images":[{"id":240,"url":"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","is_representative":true,"generation_method":"upload","mime_type":"image/webp","original_filename":"ChatGPT Image 2026년 7월 21일 오전 02_29_49.png","translations":{"ko":{"alt":"AI 네트워크와 상품 검색 화면, 정책 체크카드, 분석 대시보드가 결합된 쇼핑몰 검색 설계 일러스트","caption":"AI 쇼핑몰 검색을 구현하기 전에 정렬, 상품 상태, 탐색, 검색 범위, 데이터 정책을 설계하는 과정을 보여준다.","description":null},"en":{"alt":"AI network, product search interface, policy checklist cards, and analytics dashboard for e-commerce search planning","caption":"The illustration shows the planning of ranking, product status, navigation, search scope, and data policies before building AI-powered e-commerce search.","description":null},"ja":{"alt":"AIネットワーク、商品検索画面、ポリシーカード、分析ダッシュボードを組み合わせたEC検索設計","caption":"AI搭載のEC検索を構築する前に、並び順、商品状態、ナビゲーション、検索範囲、データ方針を設計する様子を示している。","description":null},"es":{"alt":"Red de IA, interfaz de búsqueda de productos, tarjetas de políticas y panel analítico para comercio electrónico","caption":"La ilustración muestra cómo definir el orden, el estado de los productos, la navegación, el alcance de búsqueda y la política de datos antes de crear un buscador con IA.","description":null},"id":{"alt":"Jaringan AI, antarmuka pencarian produk, kartu kebijakan, dan dasbor analitik untuk perencanaan pencarian toko online","caption":"Ilustrasi ini menunjukkan perencanaan peringkat, status produk, navigasi, cakupan pencarian, dan kebijakan data sebelum membangun pencarian e-commerce berbasis AI.","description":null},"pt":{"alt":"Rede de IA, interface de busca de produtos, cartões de políticas e painel analítico para comércio eletrônico","caption":"A ilustração mostra o planejamento de ordenação, status dos produtos, navegação, escopo da busca e política de dados antes de criar uma busca de e-commerce com IA.","description":null},"zh-hant":{"alt":"結合AI網路、商品搜尋介面、政策檢查卡與分析儀表板的電商搜尋規劃圖","caption":"此圖呈現在建立AI電商搜尋前，規劃排序、商品狀態、瀏覽方式、搜尋範圍與資料政策的過程。","description":null}}},{"id":241,"url":"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","is_representative":false,"generation_method":"upload","mime_type":"image/webp","original_filename":"ChatGPT Image 2026년 7월 21일 오전 02_32_48.png","translations":{"ko":{"alt":"상품 의미 연결망, 대체 추천 화면, 보안 데이터 저장소로 구성된 AI 쇼핑 검색 설계도","caption":"상품 속성과 동의어를 연결하고 검색 결과가 없을 때 대안을 추천하며 로그를 안전하게 집계하는 구조를 보여준다.","description":null},"en":{"alt":"AI shopping search map with semantic product links, fallback recommendations, and secure data storage","caption":"The illustration shows product attributes and synonyms being connected, alternative items suggested for empty results, and search logs aggregated securely.","description":null},"ja":{"alt":"商品意味ネットワーク、代替推薦画面、安全なデータ保存で構成されたAIショッピング検索設計","caption":"商品属性や同義語を結び、検索結果がない場合に代替商品を提案し、検索ログを安全に集計する仕組みを示している。","description":null},"es":{"alt":"Mapa de búsqueda comercial con vínculos semánticos, recomendaciones alternativas y almacenamiento seguro de datos","caption":"La ilustración muestra cómo conectar atributos y sinónimos, recomendar productos cuando no hay resultados y agregar registros de búsqueda de forma segura.","description":null},"id":{"alt":"Peta pencarian belanja AI dengan relasi produk, rekomendasi alternatif, dan penyimpanan data aman","caption":"Ilustrasi ini menunjukkan hubungan atribut dan sinonim produk, rekomendasi saat hasil kosong, serta pengelompokan log pencarian secara aman.","description":null},"pt":{"alt":"Mapa de busca comercial com conexões semânticas, recomendações alternativas e armazenamento seguro de dados","caption":"A ilustração mostra atributos e sinônimos conectados, sugestões para buscas sem resultado e agregação segura dos registros de pesquisa.","description":null},"zh-hant":{"alt":"結合商品語意關聯、替代推薦與安全資料儲存的AI購物搜尋架構","caption":"此圖呈現商品屬性與同義詞連結、無結果時提供替代推薦，以及安全彙整搜尋紀錄的流程。","description":null}}}],"published_at":"2026-07-21T10:05:48+09:00","updated_at":"2026-07-21T10:05:55+09:00","license":"cc_by","translation_status":"machine","available_locales":["ko","en","ja","es"],"data_locales":["ko","en","ja","es","id","pt","zh-hant"],"url":"https://injoys.com/en/articles/five-policies-before-ai-ecommerce-search-development"}