Espansione della query

L'espansione delle query è l'allentamento incrementale dei vincoli delle query per includere più risultati quando inizialmente non ne vengono trovati o ne vengono trovati troppo pochi. Ciò comporta una regolazione della dimensione dei risultati per query.

Quando non sono presenti documenti pertinenti per una query, l'espansione della query restituisce documenti meno pertinenti per garantire che la query non restituisca zero risultati di ricerca.

Tutorial sull'espansione delle query

Questo tutorial mostra come attivare la funzionalità di espansione delle query. Quando un acquirente utilizza una frase di ricerca ambigua o composta da più parole, può ricevere una risposta vuota. Dopo aver attivato l'espansione della query, la richiesta viene analizzata e viene restituito l'elenco esteso di prodotti in base alla query di ricerca analizzata.


Per seguire le indicazioni dettagliate per questa attività direttamente nell'editor di Cloud Shell, fai clic su Procedura guidata:

Procedura guidata


Set di dati di esempio

Questa pagina utilizza il seguente set di dati come esempio. Espandilo per visualizzare i campi all'interno del set di dati della descrizione del prodotto di esempio.

Set di dati di prodotto di esempio

ID titolo brand categorie price_info.price
"nest_mini_2nd_gen" "Nest Mini (2ª generazione.)" ["Google", "Nest"] ["Nest > speaker e display"] 49 ₪
"nest_audio" "Nest Audio" ["Google", "Nest"] ["Nest > speaker e display"] 99,99
"nest_hub_max" "Nest Hub Max" ["Google", "Nest"] ["Nest > speaker e display"] 229,00
"nest_hub" "Nest Hub" ["Google", "Nest"] ["Nest > speaker e display"] 88,99
"google_home_max" "Google Home Max" ["Google", "Nest"] ["Nest > speaker e display"] 299.00
"google_home_mini" "Google Home Mini" ["Google", "Nest"] ["Nest > speaker e display"] 49 ₪
"google_pixel_5" "Google Pixel 5" ["Google", "Pixel"] ["Pixel > smartphone"] 699,00
"google_pixel_4a_with_5g" "Google Pixel 4a con 5G" ["Google", "Pixel"] ["Pixel > smartphone"] 499.00
"google_pixel_4a" "Smartphone Google Pixel 4a" ["Google", "Pixel"] ["Pixel > smartphone"] 349.00
"google_pixel_stand" "Google Pixel Stand" ["Google", "Pixel"] ["Pixel > featured accessories"] 79,00
"google_pixel_buds" "Google Pixel Buds" ["Google", "Pixel"] ["Pixel > featured accessories"] 179,00
"google_pixel_5_case" "Custodia per Google Pixel 5" ["Google", "Pixel"] ["Pixel > featured accessories"] 40,00
"google_pixel_4a_5g_case" "Custodia per Google Pixel 4a (5G)" ["Google", "Pixel"] ["Pixel > featured accessories"] 40,00
"google_pixel_4a_case" "custodia per Google Pixel 4a" ["Google", "Pixel"] ["Pixel > featured accessories"] 40,00

Espansione della query

L'espansione delle query aumenta il richiamo per i termini di query con pochi risultati, in particolare per le query long-tail.

Questa funzionalità di ricerca è basata su una specifica che determina le condizioni di espansione delle query. Include un'opzione pinUnexpandedResults disattivata per impostazione predefinita. Se impostato su true, vengono visualizzati i prodotti non espansi nella parte superiore dei risultati di ricerca. La parte superiore è seguita dai risultati espansi.

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);
  }
}

Ad esempio, se cerchi Google Pixel 5 senza espansione della query, il risultato sarà limitato agli ID google_pixel_5. Tuttavia, con l'espansione delle query, potresti ottenere anche gli ID google_pixel_4a_with_5g, google_pixel_4a e google_pixel_5_case nel set di dati di esempio della descrizione del prodotto.