Busca com IA
A busca com IA é uma solução que utiliza queries GraphQL para recomendar produtos e otimizar os resultados de busca em lojas de e-commerce. Com isso, aprimora a experiência de navegação dos consumidores e atende às necessidades específicas de cada loja.
Hoje a funcionalidade está em beta, para utilizar é necessário abrir um chamado para nosso suporte.
Estrutura da Query GraphQL: Busca de Produtos (search)
A query search
possibilita buscas avançadas para localizar produtos de forma eficiente. Ao interpretar o termo de busca inserido, a inteligência artificial aplica automaticamente filtros implícitos, como:
- Promoções
- Lançamentos
- Faixas de preço
- Ordenação
- Marca
- Gênero
Esses filtros ajudam a gerar uma lista de produtos altamente relevantes para o consumidor.
Implementação da Busca
Abaixo temos um passo a passo de como implementar a busca IA em uma loja Storefront.
A busca AI não deve substituir a busca padrão do site, deve ser usada como complementação da busca para evitar páginas sem resultados. Se utilizado substituindo a busca padrão do site levará a impactos de performance.
Criação do arquivo GraphQL
- Objetivo: Configurar a query search para utilizar a IA na busca de produtos.
- Instruções:
- No diretório do projeto, crie um arquivo com a extensão .graphql. Nomeie o arquivo de forma intuitiva para facilitar a identificação, por exemplo, busca_com_ia.graphql.
- Dentro desse arquivo, utilize a query “search” e configure os parâmetros para que a busca utilize IA (
useAI: true
), definindo também os dados que deseja retornar.
Exemplo de query
query Search($searchQuery: String,
$partnerAccessToken: String,
$resultSize: Int = 12) {
search(query: $searchQuery, partnerAccessToken: $partnerAccessToken, useAI: true) {
redirectUrl
pageSize
productsByOffset(limit: $resultSize) {
totalCount
pageSize
page
items {
id
productId
productName
}
}
}
Criação do Componente HTML para Visualização
- Objetivo: Configurar a estrutura de exibição dos produtos retornados pela busca com IA.
- Instruções:
- No diretório de componentes, crie um arquivo HTML com o nome
recomendacoes_ia_snippet.html
. - Esse arquivo será o componente onde a busca com IA exibirá os produtos recomendados. Configure-o para mostrar os produtos em uma lista ou carrossel, dependendo do design desejado.
- No diretório de componentes, crie um arquivo HTML com o nome
Exemplo de snippet
{{ ##
Description: Render products suggested by AI
Usage:
await client.snippet.render("search_recommendations_AI_snippet.html", ...);
}}
{{~ if data.search.products_by_offset.total_count > 0 ~}}
<div class="flex justify-center w-full flex-row mt-5 px-4">
<h2 class="text-center font-bold uppercase tracking-[2px] mb-4 pb-4 text-lg lg:text-xl xl:text-2xl">Confira nossa recomendação de busca por IA</h2>
</div>
{{ spot_list products: data.search.products_by_offset }}
{{~ end ~}}
Utilização do componente snippet criado
- Objetivo: Utilizar o componente de snippet criado para exibir produtos recomendados pela busca com IA diretamente na interface do usuário.
- Instruções:
- Escolha a página .html onde deseja que seja renderizado a busca, este é o componente HTML onde o snippet de resultados da busca com IA será exibido.
- Neste componente verifique a lista retornada se existem produtos recomendados e, caso não haja resultados, mostre uma mensagem personalizada informando que nenhum produto foi encontrado para o termo de busca. Colocar um elemento html para ser utilizado pelo snippet da busca com IA.
Exemplo de componente na visualização de produtos
{{ if products.total_count > 0 }}
<div class="flex justify-center w-full flex-row gap-4 uppercase">
<p class="text-[#000] font-bold text-[19px] mt-[20px] lg:mt-0 lg:mb-[24px] tracking-[0.5px]" id="resultado"></p>
</div>
{{ else }}
<div class="flex justify-center w-full flex-row mt-5 px-4">
<p class="text-[19px] text-[#000] mt-[20px] lg:mt-0 lg:mb-[24px] tracking-[0.5px]">
Não encontramos produtos para o termo "<span id="search-term-not-found" class="font-bold"></span>".
<span class="text-brown-500 text-[30px] font-bold ml-[30px]">:(</span>
</p>
</div>
<div id="search-recommendation-ai" class="w-full"></div>
{{ end }}
Configuração do arquivo JavaScript para carregar o Snippet
- Objetivo: Adicionar lógica em JavaScript para validar a presença de um termo de busca e carregar o snippet para exibição dos resultados.
- Instruções:
- No arquivo JavaScript do .html escolhido para mostrar o snippet, configure um listener para carregar o snippet automaticamente ao iniciar a página e renderizar as recomendações com base no termo de busca.
Exemplo de função JS para o snippet
window.addEventListener("load", loadSearchRecommendationAISnippet, false);
async function loadSearchRecommendationAISnippet(){
const elementId = document.getElementById("search-recommendation-ai")
const busca = new URLSearchParams(window.location.search).get("busca");
if(elementId && busca){
const response = await client.snippet.render("search_recommendations_AI_snippet.html", "SnippetQueries/search_recommendations_AI.graphql", {searchQuery : busca});
setInnerHtmlById(response, "search-recommendation-ai");
}
Updated about 16 hours ago