Pesquisar e navegar

Este documento tem como objetivo esclarecer as distinções entre as funcionalidades de pesquisa e navegação na Pesquisa de comércio com IA para explicar como configurar cada uma delas de maneira eficaz e aproveitar ao máximo.

Entender as principais diferenças

Embora a pesquisa e a navegação ajudem os clientes a encontrar produtos, elas atendem a jornadas de usuários diferentes e exigem configurações distintas.

Impulsionada pela intenção do usuário, em que um comprador insere uma consulta específica, como tênis de corrida vermelhos. A Pesquisa de comércio com IA analisa essa consulta para entender as necessidades do usuário e retorna produtos relevantes otimizados para receita.

Em resumo, para a pesquisa, a Pesquisa de comércio com IA é responsável pela relevância dos produtos e pela classificação deles (otimizada para receita).

Navegação

Guiada por categorias predefinidas, em que um comprador navega pelas listagens de produtos organizadas por atributos como marca, categoria ou promoções, como Camisas na categoria Roupas masculinas. Você define essas categorias, mostrando os produtos nelas.

Você é responsável pela relevância dos produtos listados (por filtros), e a Pesquisa de comércio com IA é responsável pela classificação deles (otimizada para receita).

Configurar a pesquisa e a navegação

A beleza da Pesquisa de comércio com IA está na API unificada para solicitações de pesquisa e navegação.

Configurar a pesquisa

Os eventos do usuário para pesquisa precisam ter estes campos, além de outros campos obrigatórios padrão para eventos do usuário (eventType = "search"):

  • Consulta de texto: o núcleo de uma solicitação de pesquisa. Ela captura a intenção da pesquisa do usuário.
  • Filtros (opcional): permitem que os usuários refinem os resultados da pesquisa aplicando atributos como marca, faixa de preço ou cor.
  • Classificação e personalização: a Pesquisa de comércio com IA otimiza automaticamente a classificação dos resultados da pesquisa com base na relevância e na receita potencial. A personalização adapta ainda mais os resultados com base no comportamento individual do usuário.

  # Construct the search request
  search_request = {
      "query": "red running shoes", # User's search query
      "filter": "brand:ANY('Nike')", # Optional filter
      "page_size": 10 # Number of results per page
  }

# Send the request to the VAIS:Commerce API search_response = client.search(search_request)

# Process the search results for product in search_response.results: print(product.title, product.price)

Para consultas básicas com pesquisa, incluindo pesquisas de texto, pesquisas de navegação, paginação, otimização e resultados personalizados, consulte Receber resultados da pesquisa.

Configurar a navegação

Os eventos do usuário para pesquisas de navegação precisam ter estes campos, além de outros campos obrigatórios padrão para eventos do usuário (eventType = "search" para eventos de navegação):

  • Categorias de página: page_categories representa a categoria ou o banner em que os produtos aparecem. No entanto, em bibliotecas de cliente físicas ou APIs mais antigas, esse campo ainda pode aparecer como page_category. O plural pode ser opcionalmente o mesmo que categories[] no catálogo. Ele só precisa representar a categoria que o filtro representa.

  • Filtro obrigatório: define os critérios para que os produtos sejam incluídos nos resultados de navegação. Isso garante que apenas produtos relevantes apareçam na categoria.

  • Alinhamento entre evento e solicitação: o evento do usuário correspondente à ação de navegação precisa conter os mesmos valores de page_categories e filtro que foram transmitidos na solicitação de API.

  • Navegação e filtro definidos com o mesmo valor: para definir os campos pageCategories (navegação) e attributes.pageCategories (filtro) com o mesmo valor, crie um objeto attributes.pageCategories não pesquisável e liste todas as páginas em que esse produto precisa aparecer para facilitar a filtragem.

Para filtros de navegação, campos como category ou categoryid, conforme mostrado nestes exemplos, geralmente são atributos personalizados que você fornece.

Confira os quatro exemplos mencionados de diferentes opções de solicitação de navegação. Basta escolher um formato.

  # a browse request with a custom category attribute
  browse_request = {
      "page_categories": ["Men's > Clothing > Shirts"], # Represents full taxonomy Path on the site
      "filter": "category:ANY('Shirts') AND gender: ANY('Male')", # Compulsory filter on custom attribute
      "page_size": 10
  }
  # a browse request showing category ID (Men's shirts custom id)
  browse_request = {
      "page_categories": ["Men's > Clothing > Shirts"],
      "filter": "categoryid:ANY(1234)", # Another custom attribute for categories
      "page_size": 10
  }
  # another example showing category ID's (Men's shirts custom id)
  browse_request = {
      "page_categories": ["1234"],  # Also ok to use unique category id's here
      "filter": "categoryid:ANY(1234)",
      "page_size": 10
  }
  # browse and filter set with the same value
  browse_request = {
      "page_category": ["Men's > Clothing > Shirts"], # Browse category
      "filter": "attributes.pageCategories:ANY('Men's > Clothing > Shirts')", # Compulsory filter
      "page_size": 10 # Number of results per page
  }
  # Send the request to the API
  browse_response = client.search(browse_request)
  # Process the browse results
  for product in browse_response.results:
      print(product.title, product.price)