Visualizza i risultati di ricerca

In questa pagina vengono descritte le query di base con ricerca, tra cui ricerche di testo, ricerche di tipo navigazione, impaginazione, ottimizzazione e risultati personalizzati.

Non memorizzare mai nella cache i risultati personalizzati di un utente finale e non restituirli mai a un utente finale diverso.

Informazioni sulla ricerca testuale e la ricerca sfogliata con la ricerca

La Ricerca offre funzionalità di ricerca tramite query di testo e ricerca tramite navigazione.

Nel caso d'uso della ricerca di query di testo, un acquirente potrebbe inserire una query di testo sul tuo sito. La ricerca restituisce una risposta di ricerca contenente prodotti che rientrano nei parametri dei controlli che hai impostato, ordinati per pertinenza e massimizzazione delle entrate.

Nel caso d'uso relativo alla navigazione, un acquirente potrebbe andare al menu del tuo sito e aprire una categoria di prodotto specifica. La rete di ricerca sceglie automaticamente l'ordinamento che massimizza le entrate in base al comportamento e alle tendenze degli utenti. I risultati di navigazione possono essere ulteriormente perfezionati tramite i controlli configurati.

Sia le richieste di ricerca testuale che di ricerca con navigazione utilizzano il metodo servingConfigs.search.

Ricerche di query di testo

Quando un utente inserisce una query di testo per eseguire una ricerca sul tuo sito, la Ricerca ordina i potenziali risultati di ricerca in base a pertinenza, popolarità, acquistabilità e personalizzazione.

La ricerca considera una richiesta servingConfigs.search come una richiesta di ricerca basata su testo se ha un campo query non vuoto.

Quando carichi un evento utente, invia gli eventi di ricerca di query di testo generati dalla ricerca come eventi utente search. Se l'evento ha un campo userEvent.searchQuery non vuoto e un campo userEvent.pageCategories vuoto, la ricerca lo considera un evento di ricerca basato su testo.

Sfoglia ricerche

In genere, sfogliare i prodotti utilizzando la navigazione sul sito produce risultati che sono tutti di uguale pertinenza o ordinati in base agli articoli più venduti. La Ricerca sfrutta l'AI per ottimizzare l'ordinamento dei risultati della navigazione in base a popolarità, acquistabilità e personalizzazione.

Quando il metodo servingConfigs.search invia una richiesta, la ricerca la considera una richiesta di consultazione di ricerca se il campo query è vuoto. In questo caso, i risultati si basano sui campi filter e pageCategories, nonché su ulteriori ottimizzazioni e personalizzazioni, se disponibili.

Quando carichi un evento utente, assicurati di inviare gli eventi di ricerca di navigazione generati dalla ricerca come eventi utente search. La ricerca considera un evento utente search come un evento basato sulla navigazione se ha un campo userEvent.searchQuery vuoto e un campo userEvent.pageCategories non vuoto.

Per ottenere i risultati di ricerca tramite la navigazione corretti, i valori pageCategories e filter nelle richieste di ricerca devono corrispondere esattamente ai valori pageCategories e filter negli eventi utente caricati. Se non corrispondono esattamente, i dati nelle richieste di ricerca potrebbero non essere riconosciuti, il che può influire negativamente sulla qualità dei risultati. La ricerca di navigazione riconosce solo il primo valore della categoria in pageCategories.

Utilizza le richieste di ricerca per ottenere risultati sia per le ricerche di testo sia per le ricerche di navigazione. Per effettuare una richiesta di ricerca, utilizza il metodo servingConfigs.search.

Tutte le richieste di ricerca richiedono placement, che identifica il nome completo della risorsa della configurazione di gestione che verrà utilizzata. La configurazione di pubblicazione determina quali impostazioni e controlli associati influiscono sui risultati di ricerca.

Le richieste di ricerca tramite query di testo richiedono un campo query non vuoto.

Le richieste di ricerca basata sulla navigazione richiedono un campo pageCategories non vuoto.

Java

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

public static void searchProducts(String query) throws IOException, InterruptedException {
  SearchRequest searchRequest = SearchRequest.newBuilder()
      .setPlacement(DEFAULT_SEARCH_PLACEMENT_NAME)
      .setBranch(DEFAULT_BRANCH_NAME)
      .setVisitorId(VISITOR_ID)
      .setQuery(query)
      .build();

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

Per impostazione predefinita, viene restituito un numero ragionevole di risultati ordinati per pertinenza.

Per ottenere gli attributi dei prodotti restituiti con la risposta di ricerca, assicurati di fornire i valori degli attributi quando importi i dati del catalogo. Product ha attributi di sistema predefiniti, come marca, colore e taglia, per i quali puoi specificare un valore. Puoi anche includere attributi personalizzati che definisci con Product.attributes.

Tutorial sulle query

Questo tutorial mostra come inviare una query di ricerca testuale al servizio Vertex AI Search for Retail e analizzare la risposta.


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

Procedura guidata


Impaginazione

Utilizza l'impaginazione per ridurre il tempo di ricerca e la dimensione delle risposte inviate.

Tutorial sull'impaginazione

Questo tutorial mostra come controllare l'impaginazione in una richiesta di ricerca basata su testo. Quando un acquirente cerca prodotti in un negozio, può migliorare la navigazione tramite i risultati di ricerca. Ad esempio, possono limitare il numero di elementi nella risposta della ricerca utilizzando la funzionalità delle dimensioni della pagina o passare alla pagina preferita utilizzando la funzione di offset.


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

Procedura guidata


Impagina

Per passare da una pagina all'altra, utilizza page_token o offset, a seconda del tuo caso d'uso.

Per passare alla pagina successiva, puoi usare page_token. Ad esempio, supponi di inviare il seguente SearchRequest.

JSON

{
  placement: 'projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/placements/default_search'
  visitor_id: 'VISITOR_ID'
  query: 'shoes'
  page_size: 5
}

A partire dal giorno SearchResponse, puoi visualizzare i prodotti risultanti con i primi 5 risultati, insieme a un next_page_token.

JSON

{
  results: [
    products{...}, products{...}, products{...}, products{...}, products{...}
  ]
  next_page_token: "wY4ETNkBDOlVjZ0YWLzUmM40SMhVjMtADMwATL5UGN5MGZlVDJaIQ5LaYsQUw9fC6lIwgE1EgC"
  total_size: 100
  search_token: "NtQKDAiXt4_3BRDCg_jnARABGiQ1ZWRjOTRlOC0wMDAwLTI1YTEtODJlMy1mNGY1ZTgwZDUxOGM"
}

Per ottenere i prodotti di risultati con la successiva 5 pertinenza (dal 6° al 10°), devi impostare page_token utilizzando gli stessi valori placement, visitor_id e query come next_page_token del valore SearchResponse precedente.

Java

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

public static void searchProducts_withNextPageToken(String query, int pageSize)
    throws IOException, InterruptedException {
  try (SearchServiceClient searchClient = SearchServiceClient.create()) {
    SearchRequest firstRequest = SearchRequest.newBuilder()
        .setPlacement(DEFAULT_SEARCH_PLACEMENT_NAME)
        .setBranch(DEFAULT_BRANCH_NAME)
        .setVisitorId(VISITOR_ID)
        .setQuery(query)
        .setPageSize(pageSize)
        .build();

    SearchResponse firstResponse = searchClient.search(firstRequest).getPage()
        .getResponse();
    System.out.println("First search response: " + firstResponse);

    SearchRequest secondRequest = SearchRequest.newBuilder()
        .setPlacement(DEFAULT_SEARCH_PLACEMENT_NAME)
        .setBranch(DEFAULT_BRANCH_NAME)
        .setVisitorId(VISITOR_ID)
        .setQuery(query)
        .setPageSize(pageSize)
        .setPageToken(firstResponse.getNextPageToken())
        .build();

    SearchResponse secondResponse = searchClient.search(secondRequest).getPage()
        .getResponse();
    System.out.println("Second search response: " + secondResponse);
  }
}

In questo esempio, SearchRequest ha il seguente aspetto:

JSON

{
  placement: 'projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/placements/default_search'
  visitor_id: 'VISITOR_ID'
  query: 'shoes'
  page_size: 5
  page_token: "wY4ETNkBDOlVjZ0YWLzUmM40SMhVjMtADMwATL5UGN5MGZlVDJaIQ5LaYsQUw9fC6lIwgE1EgC"
}

In alcuni altri casi, anziché navigare da una pagina all'altra o ottenere risultati con la massima pertinenza, puoi passare direttamente a una posizione specifica con offset.

Java

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

public static void searchProducts_withOffset(String query, int pageSize,
    int offset) throws IOException, InterruptedException {
  SearchRequest searchRequest = SearchRequest.newBuilder()
      .setPlacement(DEFAULT_SEARCH_PLACEMENT_NAME)
      .setBranch(DEFAULT_BRANCH_NAME)
      .setVisitorId(VISITOR_ID)
      .setQuery(query)
      .setPageSize(pageSize)
      .setOffset(offset)
      .build();

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

Ad esempio, se vuoi che venga visualizzata la decima pagina dei risultati quando la dimensione della pagina è 5, puoi impostare offset su 45, calcolato come (10 - 1) * 5.

JSON

{
  placement: 'projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/placements/default_search'
  visitor_id: 'VISITOR_ID'
  query: 'shoes'
  page_size: 5
  offset: 45
}

Livelli di rendimento della rete di ricerca

La Ricerca offre diversi livelli di prestazioni che migliorano sempre di più i risultati. Ad esempio, per i casi d'uso di ricerca di query di testo, i risultati potrebbero basarsi esclusivamente sulla pertinenza. Man mano che raggiungi livelli di rendimento più avanzati, la ricerca può restituire risultati basati su pertinenza, popolarità, ottimizzazione delle entrate e personalizzazione.

La ricerca sblocca automaticamente livelli di prestazioni più elevati quando carichi dati di cataloghi e eventi utente che soddisfano i requisiti minimi di ogni livello.

La pagina Qualità dei dati della console di Search for Retail fornisce una valutazione dei requisiti che hai soddisfatto per ogni livello. Per ulteriori informazioni sull'utilizzo di questa pagina per visualizzare i livelli di qualità dei dati e di prestazioni della ricerca, consulta Sbloccare i livelli di prestazioni della ricerca.

Valutare la ricerca testuale e i risultati di navigazione

Prima di aggiornare il codice del tuo sito web per richiedere una ricerca testuale o sfogliare i risultati di ricerca, puoi visualizzare l'anteprima dei risultati per confermare che la configurazione di pubblicazione funzioni come previsto.

Per saperne di più sulle configurazioni di pubblicazione, consulta Informazioni sulle configurazioni di pubblicazione.

Puoi visualizzare l'anteprima dei risultati della configurazione di pubblicazione dalla pagina Valuta o accedendo alla pagina Dettagli della configurazione di pubblicazione nella console e facendo clic sulla relativa scheda Valuta. I passaggi seguenti mostrano come visualizzare l'anteprima dalla pagina Valuta.

Per visualizzare l'anteprima dei risultati restituiti dalla configurazione di pubblicazione:

  1. Vai alla pagina Valuta nella console di Search for Retail.

    Vai alla pagina Valuta

  2. Fai clic sulla scheda Ricerca.

  3. Seleziona la configurazione di pubblicazione di cui vuoi visualizzare l'anteprima.

  4. Seleziona il ramo del catalogo che contiene il catalogo di cui vuoi visualizzare l'anteprima.

  5. (Facoltativo) Inserisci un ID visitatore per visualizzare l'anteprima dei risultati di ricerca per l'utente.

  6. (Facoltativo) Inserisci un ID utente per visualizzare l'anteprima dei risultati di ricerca per l'utente in questione.

  7. (Facoltativo) Inserisci un'ora di ricerca per visualizzare l'anteprima dei risultati di ricerca che verranno mostrati al momento specificato.

    Ad esempio, se hai promosso determinati prodotti per il Black Friday, puoi vedere i risultati così come appariranno in quel giorno.

  8. (Facoltativo) Seleziona i facet da visualizzare accanto ai risultati di ricerca e fai clic su OK per applicarli.

    I facet selezionati vengono utilizzati per generare un elenco di filtri dei facet che vengono visualizzati in Aggiungi facet dopo aver eseguito la ricerca iniziale. Questi filtri dei facet possono includere facet diversi da quelli selezionati in questo passaggio, ad esempio facet dinamici.

  9. Inserisci una query di ricerca basata su testo per visualizzare l'anteprima dei risultati di ricerca relativi a quella query.

  10. Fai clic su Anteprima della ricerca o premi Invio in un campo di immissione per visualizzare i risultati.

    I risultati di ricerca vengono visualizzati con le relative immagini in miniatura disponibili.

    Se la tua ricerca attiva un controllo di reindirizzamento, viene visualizzata una notifica che mostra l'URI di reindirizzamento.

  11. (Facoltativo) Fai clic sull'icona della griglia o sull'icona Elenco per cambiare la modalità di visualizzazione dei risultati di ricerca nell'anteprima.

  12. (Facoltativo) Se hai selezionato i facet da visualizzare accanto ai risultati, seleziona uno o più valori facet dall'elenco dei facet per filtrare i risultati in base a questi valori. I risultati vengono aggiornati automaticamente al momento della selezione.

    Quando selezioni più valori dello stesso facet, questi vengono applicati come un operatore OR, mentre i valori in facet diversi vengono applicati come sarebbe un operatore AND. Ad esempio, dopo aver selezionato i facet "colore" e i valori "blu" e "oro", mentre i valori del materiale sono "cotone" e "poliestere". I risultati di ricerca devono avere come attributo "blu" o "oro" e anche "cotone" o "poliestere" come attributo.

Sfoglia

  1. Vai alla pagina Valuta nella console di Search for Retail.

    Vai alla pagina Valuta

  2. Fai clic sulla scheda Sfoglia.

  1. Seleziona la configurazione di pubblicazione di cui vuoi visualizzare l'anteprima.

  2. Seleziona il ramo del catalogo che contiene il catalogo di cui vuoi visualizzare l'anteprima.

  3. (Facoltativo) Inserisci un ID visitatore per visualizzare l'anteprima dei risultati per l'utente.

  4. (Facoltativo) Inserisci un ID utente per visualizzare l'anteprima dei risultati per l'utente.

  5. Per visualizzare l'anteprima dell'aspetto dei risultati con l'aggiunta di un filtro specifico, inserisci una stringa di filtro. Utilizza la sintassi delle espressioni di filtro specificata nella documentazione relativa ai filtri.

  6. (Facoltativo) Inserisci un'ora di navigazione per visualizzare l'anteprima dei risultati che verranno visualizzati nel momento specificato.

    Ad esempio, se hai promosso determinati prodotti per il Black Friday, puoi vedere i risultati così come appariranno in quel giorno.

  7. Inserisci la categoria di pagina per cui stai testando i risultati della navigazione.

  8. (Facoltativo) Seleziona i facet da visualizzare accanto ai risultati e fai clic su OK per applicarli.

    I facet selezionati vengono utilizzati per generare un elenco di filtri dei facet che vengono visualizzati in Aggiungi facet dopo aver eseguito la ricerca iniziale. Questi filtri dei facet possono includere facet diversi da quelli selezionati in questo passaggio, ad esempio facet dinamici.

  9. Fai clic su Sfoglia anteprima o premi Invio in un campo di immissione per visualizzare i risultati.

    I risultati vengono visualizzati con le relative immagini in miniatura disponibili.

  10. (Facoltativo) Fai clic sull'icona della griglia o sull'icona Elenco per cambiare la modalità di visualizzazione dei risultati nell'anteprima.

  11. (Facoltativo) Se hai selezionato i facet da visualizzare accanto ai risultati, seleziona uno o più valori facet dall'elenco dei facet per filtrare i risultati in base a questi valori. I risultati vengono aggiornati automaticamente al momento della selezione.

    Quando selezioni più valori dello stesso facet, questi vengono applicati come un operatore OR, mentre i valori in facet diversi vengono applicati come sarebbe un operatore AND. Ad esempio, dopo aver selezionato i facet "colore" e "materiale", potresti filtrare i risultati di ricerca selezionando i valori di colore "blu" e "oro" e i valori del materiale "cotone" e "poliestere". I risultati devono contenere "blu" o "oro" come attributo e anche "cotone" o "poliestere" come attributo.

Per visualizzare la pagina Dettagli della configurazione di pubblicazione visualizzata in anteprima, fai clic su Visualizza configurazione di pubblicazione nel campo Seleziona configurazione di pubblicazione.