Visualizzare i risultati di ricerca

Questa pagina descrive le query di base con la ricerca, incluse le ricerche di query di testo, le ricerche di navigazione, la paginazione, l'ottimizzazione e i risultati personalizzati.

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

La pertinenza è diversa dalla corrispondenza. La corrispondenza consiste nel trovare i prodotti candidati nell'indice che corrispondono alla query di ricerca dell'utente. La pertinenza, invece, è un grado di corrispondenza. che prevede di classificare questi prodotti in modo da soddisfare al meglio le intenzioni e le esigenze dell'utente. Vertex AI Search per il retail utilizza tecniche per migliorare la corrispondenza e la pertinenza per una migliore esperienza di ricerca complessiva per gli utenti che soddisfi le esigenze dei rivenditori.

Vertex AI Search for Commerce utilizza per impostazione predefinita la pertinenza nella ricerca. Tuttavia, la ricerca è ottimizzata anche per mostrare gli elementi marginalmente pertinenti più in alto nei risultati di ricerca, in modo da fornire ai rivenditori risultati di ricerca più mirati per aumentare il potenziale di conversione degli eventi utente.

Queste funzionalità di ricerca aggiuntive ottimizzano l'algoritmo di pertinenza predefinito, fornendo funzionalità non predefinite ottimizzate in base al profilo di utilizzo di ogni rivenditore, tra cui:

  • Opzioni per ordinare i risultati, ad esempio per prezzo, articoli con le valutazioni più alte o più venduti. La ricerca non predefinita è personalizzata per restituire risultati di ricerca specifici con le varianti di prodotto corrette. Ad esempio, per mostrare la variante più economica o più costosa quando ordini per prezzo.

  • Applicazione automatica di un filtro di pertinenza più restrittivo per gli eventi utente non predefiniti.

  • Attivazione di controlli regolabili per aumentare/diminuire la visibilità per perfezionare i risultati di ricerca.

La ricerca fornisce funzionalità di ricerca tramite query di testo e di navigazione.

Nello scenario di utilizzo della ricerca con query di testo, un acquirente potrebbe inserire una query basata sul testo sul tuo sito. La ricerca restituisce una risposta contenente i prodotti che rientrano nei parametri dei controlli che hai configurato, ordinati per pertinenza e massimizzazione delle entrate.

Nello scenario di utilizzo della navigazione, un acquirente potrebbe andare al menu del tuo sito e navigare in una categoria di prodotti specifica. La ricerca sceglie automaticamente l'ordine di 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 che hai configurato.

Sia le richieste di ricerca di testo che quelle di ricerca per sfogliazione utilizzano il metodo servingConfigs.search.

Ricerche con 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à, possibilità di acquisto 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 l'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.

Sfogliare le ricerche

Sfoglia utilizza la navigazione del sito per produrre risultati di ricerca di pari pertinenza ordinati in base agli articoli più venduti. La Ricerca sfrutta l'AI per ottimizzare l'ordinamento dei risultati di navigazione prendendo in considerazione popolarità, acquistabilità e personalizzazione.

Per ottenere risultati di ricerca di navigazione corretti, tieni presente quanto segue:

  • I valori pageCategories e filter nelle tue richieste di ricerca devono corrispondere esattamente ai valori pageCategories e filter negli eventi utente caricati. Se i parametri nelle richieste non corrispondono a quelli negli eventi, il modello di ranking basato sui clic appreso dagli eventi non funzionerà molto bene per questa query specifica e influirà negativamente sulla qualità dei risultati.

  • Vertex AI Search for commerce classifica un evento utente search come evento basato sulla navigazione se ha un campo userEvent.searchQuery vuoto e un campo userEvent.pageCategories non vuoto. Per questo motivo, devi assicurarti di inviare gli eventi di navigazione generati da Vertex AI Search for Commerce come eventi utente search durante il caricamento.

  • Un filtro di navigazione deve essere valido e indicare per ogni query di navigazione quali prodotti appartengono alla categoria di prodotto che l'utente sta consultando. Per ottenere questa configurazione, l'ID categoria deve essere definito sia nel campo filter sia nel campo page_category. Ad esempio, se vuoi che i risultati di ricerca siano indirizzati alla categoria Casa e giardino. Innanzitutto, avere un solo valore filter di "in-stock" non perfeziona la ricerca a sufficienza per fornire risultati di navigazione ottimali. Per fornire risultati di ricerca limitati a Casa e giardino, devi impostare "Home \& Garden" non solo nella categoria di pagina, ma anche nel filtro con categories: ANY("Home & Garden"). Se non definisci la categoria nella parte del filtro, i risultati di navigazione potrebbero essere troppo ampi e includere molti articoli non appartenenti alla categoria Casa e giardino.

Le richieste e gli eventi di pubblicazione con un campo di query vuoto e campi page_categories compilati sono considerati richieste di navigazione ed eventi utente. Il campo page_categories specifica la pagina di navigazione stessa. Quando il metodo servingConfigs.search invia una richiesta, la ricerca la considera una richiesta di ricerca di navigazione se il campo query è vuoto. In questo caso, i risultati si basano sui campi filter e pageCategories e, se disponibili, su un'ulteriore ottimizzazione e personalizzazione.

Puoi impostare la categoria in entrambi, come in questo esempio:

JSON

page_category: "Home & Garden"
filter: "(availability: ANY("IN_STOCK")) AND (categories: ANY("Home & Garden"))"

In caso contrario, poiché la navigazione funziona con query di stringhe vuote, i prodotti di una determinata categoria non verranno visualizzati automaticamente nei risultati per una determinata categoria di pagina. In altre parole, se l'utente finale naviga senza specificare nulla utilizzando una query di testo, la ricerca potrebbe non produrre risultati mirati in modo efficace, anche se l'utente passa a una pagina di categoria.

Utilizzare le richieste di ricerca

Utilizza le richieste di ricerca per ottenere risultati sia per le ricerche di testo che 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 pubblicazione che verrà utilizzata. La configurazione di pubblicazione determina quali impostazioni e controlli associati influiscono sui risultati di ricerca.

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

Le richieste di ricerca di 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 del prodotto 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 brand, colore e taglia per i quali puoi fornire valori. Puoi anche includere attributi personalizzati che definisci con Product.attributes.

Tutorial sulle query

Questo tutorial ti mostra come inviare una query di ricerca basata su testo al servizio Vertex AI Search per il commercio 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 la paginazione per ridurre i tempi di ricerca e le dimensioni 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 nei risultati di ricerca. Ad esempio, possono limitare il numero di elementi nella risposta della ricerca utilizzando la funzionalità di dimensione della pagina o passare alla pagina preferita utilizzando la funzionalità 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 utilizzare 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 ottenere i prodotti risultanti con le prime 5 pertinenze, 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 dei risultati con le 5 pertinenze successive (dalla 6ª alla 10ª), devi impostare page_token utilizzando gli stessi placement, visitor_id e query di next_page_token del precedente SearchResponse.

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 altri casi, invece di spostarti da una pagina all'altra o di ottenere risultati con la massima pertinenza, puoi passare direttamente a una determinata posizione utilizzando 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 la decima pagina dei risultati quando la dimensione di pagina è 5, puoi impostare offset su 45, che viene 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 rendimento della ricerca che migliorano sempre più i risultati. Ad esempio, per i casi d'uso della ricerca di query di testo, i risultati potrebbero basarsi esclusivamente sulla pertinenza. Man mano che sblocchi livelli di rendimento più avanzati, la ricerca può restituire risultati basati su pertinenza, popolarità, ottimizzazione delle entrate e personalizzazione.

La ricerca sblocca automaticamente i livelli di rendimento più elevati quando carichi i dati del catalogo e degli eventi utente che soddisfano i requisiti minimi di ciascun livello.

Per ulteriori informazioni sull'utilizzo di questa pagina per visualizzare i livelli di qualità dei dati e di rendimento della ricerca, consulta Sbloccare i livelli di rendimento della ricerca. La pagina Qualità dei dati nella console Cerca per il commercio fornisce una valutazione dei requisiti soddisfatti per ogni livello.

Valutare i risultati della ricerca e della navigazione di testo

Prima di aggiornare il codice del tuo sito web per richiedere la ricerca di testo o la ricerca di navigazione risultati, puoi visualizzare l'anteprima dei risultati per verificare che la configurazione di pubblicazione funzioni come previsto.

Per ulteriori informazioni sulle configurazioni di pubblicazione, consulta la sezione Informazioni sulle configurazioni di pubblicazione.

Puoi visualizzare l'anteprima dei risultati della configurazione di pubblicazione dalla pagina Valuta oppure accedendo alla pagina Dettagli di una configurazione di pubblicazione nella console e facendo clic sulla scheda Valuta. I seguenti passaggi 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 Search for commerce.

    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 quell'utente.

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

  7. (Facoltativo) Inserisci un orario di ricerca per visualizzare l'anteprima dei risultati di ricerca che verrebbero visualizzati all'ora specificata.

    Ad esempio, se hai promosso determinati prodotti per una vendita speciale, puoi visualizzare 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.

    Le sfaccettature selezionate vengono utilizzate per generare un elenco di filtri sfaccettati che vengono visualizzati in Aggiungi sfaccettature dopo aver eseguito la ricerca iniziale. Questi filtri sfaccettati possono includere sfaccettature diverse da quelle selezionate in questo passaggio, come le sfaccettature dinamiche.

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

  10. Fai clic su Anteprima ricerca o premi Invio in qualsiasi campo di input per visualizzare i risultati.

    I risultati di ricerca vengono visualizzati con le miniature disponibili.

    Se la ricerca attiva un controllo di reindirizzamento, viene visualizzato un avviso che mostra l'URI di reindirizzamento.

  11. (Facoltativo) Fai clic sull'icona Griglia o 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 di 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 della stessa sfaccettatura, questi vengono applicati come se fosse un operatore OR, mentre i valori di sfaccettature diverse vengono applicati come se fosse un operatore AND. Ad esempio, dopo aver selezionato le sfaccettature colore e i valori "blu" e "oro", nonché i valori materiale "cotone" e "poliestere". I risultati di ricerca devono avere "blu" o "oro" come attributo e anche "cotone" o "poliestere" come attributo.

Sfoglia

  1. Vai alla pagina Valuta nella console Cerca per il commercio.

    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 quell'utente.

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

  5. Per visualizzare l'anteprima dell'aspetto dei risultati con un filtro specifico aggiunto, inserisci una stringa di filtro. Utilizza la sintassi dell'espressione di filtro specificata nella documentazione Filtro.

  6. (Facoltativo) Inserisci un orario di navigazione per visualizzare l'anteprima dei risultati che verrebbero visualizzati all'ora specificata.

    Ad esempio, se hai promosso determinati prodotti per un evento di vendita di punta, puoi visualizzare i risultati come appariranno in quel giorno.

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

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

    Le sfaccettature selezionate vengono utilizzate per generare un elenco di filtri sfaccettati che vengono visualizzati in Aggiungi sfaccettature dopo aver eseguito la ricerca iniziale. Questi filtri sfaccettati possono includere sfaccettature diverse da quelle selezionate in questo passaggio, come le sfaccettature dinamiche.

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

    I risultati vengono visualizzati con le miniature disponibili.

  10. (Facoltativo) Fai clic sull'icona Griglia o 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 di 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 della stessa sfaccettatura, questi vengono applicati come se fosse un operatore OR, mentre i valori di sfaccettature diverse vengono applicati come se fosse un operatore AND. Ad esempio, dopo aver selezionato le sfaccettature colore e materiale, puoi filtrare i risultati di ricerca selezionando i valori di colore "blu" e "oro" e i valori di materiale "cotone" e "poliestere". I risultati devono avere "blu" o "oro" come attributo e anche "cotone" o "poliestere" come attributo.

Per visualizzare la pagina Dettagli della configurazione di pubblicazione di cui stai visualizzando l'anteprima, fai clic su Visualizza configurazione di pubblicazione nel campo Seleziona configurazione di pubblicazione.