Expansão de consulta

A expansão de consulta é o relaxamento incremental das restrições de consulta para incluir mais resultados quando nenhum ou poucos são encontrados inicialmente. Isso leva a um ajuste no tamanho do resultado por consulta.

Quando não há documentos relevantes para uma consulta, a expansão de consulta retorna documentos menos relevantes para garantir que a consulta não retorne zero resultados de pesquisa.

Tutorial de expansão de consulta

Neste tutorial, mostramos como ativar o recurso de expansão de consulta. Quando um comprador usa uma frase de pesquisa ambígua ou com várias palavras, ele pode receber uma resposta vazia. Depois de ativar a expansão de consulta, a solicitação é analisada e a lista expandida de produtos com base na consulta de pesquisa analisada é retornada.


Para seguir as instruções da tarefa diretamente no editor do Cloud Shell, clique em Orientação:

Orientações


Exemplo de conjunto de dados

Nesta página, usamos o conjunto de dados a seguir como exemplo. Expanda para conferir os campos no conjunto de dados de descrição do produto de exemplo.

Exemplo de conjunto de dados do produto

ID título brands categories price_info.price
"nest_mini_2nd_gen" "Nest Mini (segunda geração)" ["Google", "Nest"] ["Nest > alto-falantes e telas"] 49,00
"nest_audio" " Audioudio Nest" ["Google", "Nest"] ["Nest > alto-falantes e telas"] 99,99
"nest_hub_max" "Nest Hub Max" ["Google", "Nest"] ["Nest > alto-falantes e telas"] 229,00
"nest_hub" "Nest Hub" ["Google", "Nest"] ["Nest > alto-falantes e telas"] 88,99
"google_home_max" "Google Home Max" ["Google", "Nest"] ["Nest > alto-falantes e telas"] 299,00
"google_home_mini" "Google Home Mini" ["Google", "Nest"] ["Nest > alto-falantes e telas"] 49,00
"google_pixel_5" "Google Pixel 5" ["Google", "Pixel"] ["Pixel > smartphones"] 699,00
"google_pixel_4a_with_5g" "Google Pixel 4a com 5G" ["Google", "Pixel"] ["Pixel > smartphones"] 499,00
"google_pixel_4a" "Smartphones Google Pixel 4a" ["Google", "Pixel"] ["Pixel > smartphones"] 349,00
"google_pixel_stand" "Google Pixel Stand" ["Google", "Pixel"] ["Pixel > acessórios em destaque"] 79,00
"google_pixel_buds" "Google Pixel Buds" ["Google", "Pixel"] ["Pixel > acessórios em destaque"] 179,00
"google_pixel_5_case" "Capa para Google Pixel 5" ["Google", "Pixel"] ["Pixel > acessórios em destaque"] 40,00
"google_pixel_4a_5g_case" "Capa para Google Pixel 4a (5G)" ["Google", "Pixel"] ["Pixel > acessórios em destaque"] 40,00
"google_pixel_4a_case" "Capa para Google Pixel 4a" ["Google", "Pixel"] ["Pixel > acessórios em destaque"] 40,00

Expansão de consulta

A expansão de consulta aumenta o recall para termos de consulta com poucos resultados, especialmente consultas de cauda longa.

Esse recurso de pesquisa é impulsionado por uma especificação que determina as condições de expansão da consulta. Ela inclui uma opção pinUnexpandedResults que fica desativada por padrão. Quando definido como true, ele mostra os produtos não expandidos na parte de cima dos resultados da pesquisa. A parte de cima é seguida pelos resultados expandidos.

Java

import com.google.cloud.retail.v2.SearchRequest;
import com.google.cloud.retail.v2.SearchRequest.QueryExpansionSpec;
import com.google.cloud.retail.v2.SearchRequest.QueryExpansionSpec.Condition;
import com.google.cloud.retail.v2.SearchResponse;
import com.google.cloud.retail.v2.SearchServiceClient;

public static void searchProductsWithQueryExpansion(String query, int pageSize,
    Condition condition) throws IOException, InterruptedException {
  QueryExpansionSpec queryExpansionSpec = QueryExpansionSpec.newBuilder()
      .setCondition(condition)
      .build();

  SearchRequest searchRequest = SearchRequest.newBuilder()
      .setPlacement(DEFAULT_SEARCH_PLACEMENT_NAME)
      .setBranch(DEFAULT_BRANCH_NAME)
      .setVisitorId(VISITOR_ID)
      .setQuery(query)
      .setPageSize(pageSize)
      .setQueryExpansionSpec(queryExpansionSpec)
      .build();

  try (SearchServiceClient searchClient = SearchServiceClient.create()) {
    SearchResponse response = searchClient.search(searchRequest).getPage().getResponse();
    System.out.println("Search response: " + searchResponse);
  }
}

Por exemplo, se você pesquisar Google Pixel 5 sem expansão de consulta, o resultado será restrito a IDs google_pixel_5. No entanto, com a expansão de consulta, você também pode receber IDs google_pixel_4a_with_5g, google_pixel_4a e google_pixel_5_case no conjunto de dados de exemplo de descrição do produto.