Como funciona a busca da VTEX?

Produtos & SKU

VTEX Team

VTEX Team

Última atualização

Esse artigo tem o objetivo de descrever o funcionamento do buscador da VTEX, ou seja, como o buscador da VTEX prioriza a exibição de produtos de acordo com o termo pesquisado.

O buscador da VTEX possui um algoritmo inteligente que, a partir do termo buscado, identifica qual é o melhor resultado para apresentar ao usuário, ou seja, sempre é apresentado o resultado que mais gerará conversão de venda. É claro que o sucesso desse resultado depende, exclusivamente, do cadastro do catálogo (marca, departamento, categoria, produto, especificação etc).

De acordo com o termo buscado, o sistema pode renderizar os seguintes resultados:

Landing Page: Se o termo buscado corresponder exatamente com o nome de uma pasta configurada no Gerenciador de Portal (landing page), essa pasta será renderizada; Atenção Para uma pasta ser buscável ela deve possuir um layout. Mesmo que a pesquisa seja por uma pasta filha, a pai também requer um layout Marca: Se o termo buscado corresponder exatamente ao nome ou palavra substituta de alguma marca cadastrada, o sistema renderizará apenas os produtos dessa marca. Se o sistema identificar duas ou mais marcas com a mesma palavra substituta (o que é considerada uma inconsistência de cadastro), o sistema renderizará apenas a primeira encontrada (e seus produtos). O resultado desta página será uma página de Marca, olhando pelo código fonte da página: <!-- CommerceContext.Current.VirtualFolder.Name: marca --> Departamento: Se o termo buscado corresponder exatamente ao nome ou palavra substituta de algum departamento cadastrado, o sistema renderizará apenas os produtos desse departamento. Se o sistema identificar dois ou mais departamentos com a mesma palavra substituta (o que é considerada uma inconsistência de cadastro), o sistema renderizará apenas a primeiro encontrado (e seus produtos). O resultado desta página será uma página de Departamento, olhando pelo código fonte da página: <!-- CommerceContext.Current.VirtualFolder.Name: @departamento@ --> Busca por termo (palavra chave): Se o sistema não identificar Landing Page, Marca ou Departamento de acordo com o termo buscado, ele aplica uma busca por termo (palavra chave). O resultado desta página será uma página de Busca, olhando pelo código fonte da página: <!-- CommerceContext.Current.VirtualFolder.Name: Busca -->

Abaixo segue a descrição desse tipo de situação:

  • Busca por termo (palavra chave): o buscador aplica a consulta no indexador, que é o responsável pelo algoritmo de busca por termo. Esse algoritmo utiliza o conceito de pontuação para priorizar e ordenar os produtos.
  • Pontuação: A cada consulta realizada, o indexador pontua os produtos de acordo com o termo consultado. Alguns campos (com pesos diferentes) da base são considerados para o cálculo dessa pontuação. A vitrine é montada com base nessa pontuação, em ordem decrescente, ou seja, o produto mais pontuado será o primeiro a ser exibido e o menos pontuado, o último.

Maiores detalhes sobre a Busca

Para que seja entendida a busca da VTEX, inicialmente é preciso entender o indexador do catálogo e como funciona seu processo de atualização.

Indexador do Catálogo

O indexador do catálogo é uma base de dados escalável de acesso rápido, com algorítimos configuráveis de priorização de resultado. Ele está posicionado entre o banco de dados convencional e o usuário. Veja o esquema abaixo:

No indexador encontramos todas as informações referentes ao catálogo de produtos (produtos, skus, marcas, departamentos, categorias). O buscador utiliza essas informações para localizar os produtos e exibi-los nas vitrines e resultados de busca.

Processo de atualização (Indexação)

Sempre que um produto é alterado, ele é enviado para o final da fila de indexação. Isso significa que qualquer alteração no produto (dados principais, preço, estoque, coleção etc) gerará uma atualização no indexador. Quando essa fila de indexação for consumida, as alterações aplicadas, enfim, ficarão disponíveis para exibição no site. O processo de indexação é bem seguro e possui regras de repescagem. Sempre que, por alguma razão, um item não é indexado na primeira tentativa, o sistema realiza outras tentativas.

 

Campos utilizados pelo algoritmo e seus pesos para pontuação de produto

  • Nome do Produto - 2.8
  • Primeiro nome do produto - 2.5
  • Primeiro e segundo nome do produto - 1.2
  • Nome complemento do produto - 1.0
  • Palavras substitutas (produto e marca) - 0.7
  • Especificações de Produto (apenas para campos dos tipos texto indexado e texto longo indexado) - 0.5

Exemplo

Considerando o seguinte indexador:

Nome do ProdutoNome Complemento do ProdutoPalavras substitutasEspecificações de Produto
Bola de futebolSocietybola de futibol,bola de footballBranca
BolaSocietysoçaite, sossaiteBola de futebol
Chuteira de futebolCampoXuteira de futebol, Chuteira de footballBranca

Termo buscado 1: Bola de futebol

Resultado 1:

  1. Bola de futebol (Melhor pontuado pois o termo corresponde exatamente ao nome do produto)
  2. Bola (Segundo melhor pontuado pois o termo corresponde ao valor de uma especificação)
  3. Chuteira de futebol (Terceiro melhor pontuado pois parte do termo corresponde a parte do nome do produto)

Termo buscado 2: Bola Branca

Resultado 2:

  1. Bola (Melhor pontuado pois parte do termo corresponde exatamente ao nome do produto)
  2. Bola de futebol (Segundo melhor pontuado pois parte do termo buscado corresponde a parte do nome do produto)
  3. Chuteira de futebol (Terceiro melhor pontuado pois parte do termo corresponde a uma especificação)

Dica: A utilização de palavras substitutas, apesar de ter um peso baixo para a pontuação do indexador, é um recurso extremamente importante. Com esse recurso se torna possível atingir usuários que realizam buscas por termos gramaticalmente errados, porém, com a mesma semântica. O exemplo demonstra alguns casos.