Ottenere risultati di ricerca

Questa pagina mostra come visualizzare l'anteprima dei risultati di ricerca utilizzando la console Google Cloud e come ottenere i risultati di ricerca utilizzando l'API.

Inoltre, invece di creare un widget di ricerca da aggiungere alla tua pagina web, puoi effettuare chiamate API e integrarle nel server o nell'applicazione. Questa pagina include esempi di codice su come eseguire query di ricerca utilizzando le librerie client gRPC con un account di servizio.

Corrispondenza esatta con virgolette doppie

Puoi racchiudere una query di ricerca tra virgolette doppie ("") per una corrispondenza esatta. Questo tipo di ricerca viene spesso chiamato ricerca tra virgolette.

Se non racchiudi la query di ricerca tra virgolette doppie, la ricerca viene definita corrispondenza parziale. Questo tipo di ricerca è chiamato anche ricerca senza virgolette.

Ad esempio, quando la query di ricerca è "query": "\"Mary had a little lamb\"", Agent Search cerca la frase esattamente così com'è. Non restituisce risultati di ricerca che contengono Mary had lamb, a cui mancano parole, o a little lamb had Mary, in cui le parole sono in un ordine diverso.

Puoi combinare la ricerca a corrispondenza esatta con gli operatori logici in modi diversi per restringere i risultati di ricerca. Per maggiori informazioni, consulta Scenari di query di ricerca.

Operatori logici

Quando esegui ricerche su dati strutturati e non strutturati con metadati, puoi aggiungere operatori logici all'interno di una ricerca. Puoi aggiungere OR e AND alla query di ricerca tra più termini o frasi. L'operatore logico NOT non è supportato

Il modo in cui colleghi i termini di ricerca determina la precisione dei risultati:

E
Ogni termine della query deve essere presente nei risultati. Ad esempio, la ricerca di jazz AND piano mostra risultati che contengono sia le parole jazz sia piano.
OPPURE
Almeno uno dei termini della query deve essere presente nei risultati. Ad esempio, se cerchi rock OR pop, i risultati includeranno rock, pop o entrambi.

Puoi combinare i diversi operatori logici tra loro o con la ricerca di corrispondenza esatta in modi diversi per restringere i risultati della ricerca.

Scenari di query di ricerca

La tabella seguente riporta alcuni scenari che potresti riscontrare quando utilizzi la ricerca con corrispondenza esatta o parziale.

Scenario Descrizione Esempio
Ricerca a corrispondenza parziale senza operatori logici Quando non ci sono virgolette doppie intorno ai termini di ricerca e nessun operatore logico tra loro, la ricerca funziona come se ci fosse un operatore AND tra i termini. I risultati potrebbero contenere anche altri documenti che la ricerca dell'agente ritiene pertinenti per la query grazie alla ricerca semantica.
       "query": "Mary little lamb"
      

Per questa query, i documenti più pertinenti nella risposta contengono tutti i termini Mary, little e lamb. La risposta potrebbe contenere anche altri documenti che contengono termini semanticamente pertinenti.

Ricerca a corrispondenza esatta senza operatori logici Quando ci sono virgolette doppie intorno a più termini di ricerca individuali o frasi e nessun operatore logico tra loro, la ricerca funziona come se ci fosse un operatore AND tra le frasi. Quando aggiungi le doppie virgolette ad almeno un termine di ricerca nella query, la ricerca semantica viene disattivata per l'intera query.
       "query": "\"Mary\" \"little lamb\""
      

Per questa query, la ricerca produce risultati che contengono entrambe le frasi Mary e little lamb.

Ricerca a corrispondenza esatta e parziale Quando aggiungi le virgolette doppie ad almeno un termine di ricerca nella query, la ricerca semantica viene disattivata per l'intera query. Se vengono specificati operatori logici, vengono rispettati come specificato. Se nella query non vengono specificati operatori logici, la ricerca funziona come se tra le frasi ci fosse un operatore AND.
       "query": "Mary \"little lamb\""
      

Per questa query, la ricerca funziona come se ci fosse un operatore AND tra le frasi. Poiché la parola Mary non è tra virgolette, non viene trovata una corrispondenza esatta.

Visualizzare i risultati di ricerca per un'app con i dati di un sito web

Console

Per utilizzare la console Google Cloud per visualizzare l'anteprima dei risultati di ricerca per un'app con dati del sito web, segui questi passaggi:

  1. Nella Google Cloud console, vai alla pagina AI Applications.

    Applicazioni di AI

  2. Fai clic sul nome dell'app da modificare.

  3. Fai clic su Anteprima.

  4. Apri la pagina Anteprima nella console.

  5. (Facoltativo) Se hai collegato più datastore alla tua app, ma vuoi risultati solo da un datastore specifico, seleziona il datastore da cui ottenere i risultati.

  6. Digita una query di ricerca.

    Se hai attivato il completamento automatico, mentre digiti viene visualizzato un elenco di suggerimenti sotto la barra di ricerca.

  7. Premi Invio per inviare la query.

    • Sotto la barra di ricerca viene visualizzato un elenco di risultati di ricerca.
    • Ogni risultato contiene un titolo, uno snippet e un URL.
    • Se fai clic su un risultato, si apre l'URL.
    • Se le funzionalità LLM avanzate sono abilitate per l'app, potrebbe essere visualizzata anche una risposta generata.

REST

Per utilizzare l'API per ottenere i risultati di ricerca per un'app con dati del sito web, utilizza il metodo engines.servingConfigs.search:

  1. Trova l'ID app. Se hai già l'ID app, vai al passaggio successivo.

    1. Nella Google Cloud console, vai alla pagina AI Applications.

      Vai ad App

    2. Nella pagina App, trova il nome della tua app e recupera il relativo ID dalla colonna ID.

  2. Visualizzare i risultati di ricerca.

    curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/servingConfigs/default_search:search" \
    -d '{
    "servingConfig": "projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/servingConfigs/default_search",
    "query": "QUERY",
    "pageSize": "PAGE_SIZE",
    "offset": "OFFSET",
    "orderBy": "ORDER_BY",
    "params": {"user_country_code": "USER_COUNTRY_CODE",
    "searchType": "SEARCH_TYPE"},
    "filter": "FILTER",
    "boostSpec": "BOOST_SPEC",
    "contentSearchSpec": {
       "searchResultMode": "RESULT_MODE"
     },
     "userPseudoId": "USER_PSEUDO_ID",
     "dataStoreSpecs": [{"DATA_STORE_SPEC"}]
    }'
    

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID del tuo Google Cloud progetto.
    • APP_ID: l'ID dell'app Agent Search che vuoi interrogare.
    • QUERY: il testo della query da cercare.
    • PAGE_SIZE: il numero di risultati restituiti dalla ricerca. La dimensione massima consentita della pagina dipende dal tipo di dati. Le dimensioni della pagina superiori al valore massimo vengono forzate al valore massimo.

      • Siti web con indicizzazione di base: predefinito 10, massimo 25
      • Siti web con indicizzazione avanzata: predefinito 25, massimo 50
      • Altro: predefinito 50, massimo 100
    • OFFSET: l'indice iniziale dei risultati. Il valore predefinito è 0.

      Ad esempio, se l'offset è 2, la dimensione della pagina è 10 e ci sono 15 risultati da restituire, i risultati da 2 a 12 vengono restituiti nella prima pagina.

    • ORDER_BY: l'ordine in cui sono disposti i risultati. L'attributo in base al quale ordinare deve avere un'interpretazione numerica, ad esempio date. Per saperne di più, consulta Ordinare i risultati della ricerca web.

    • USER_COUNTRY_CODE: la posizione dell'utente. Questa coppia chiave-valore è l'unica voce supportata per il campo della mappa params. Il valore predefinito è vuoto. Per i valori accettabili, consulta Codici paese nella documentazione di riferimento dell'API JSON del Programmable Search Engine.

    • SEARCH_TYPE: il tipo di ricerca da eseguire. Il valore predefinito è 0 per la ricerca di documenti. L'altro valore supportato è 1 per la ricerca immagini.

    • FILTER: un campo di testo per filtrare la ricerca utilizzando un'espressione di filtro. Il valore predefinito è una stringa vuota. Per ulteriori informazioni sull'utilizzo del campo filter, vedi Filtrare la ricerca sul sito web.

    • BOOST_SPEC: facoltativo. Una specifica per promuovere o nascondere i documenti. Valori:

      • BOOST: un numero in virgola mobile nell'intervallo [-1,1]. Quando il valore è negativo, i risultati vengono declassati (vengono visualizzati più in basso nei risultati). Quando il valore è positivo, i risultati vengono promossi (vengono visualizzati più in alto nei risultati).
      • CONDITION: un'espressione di filtro del testo per selezionare i documenti a cui viene applicato l'incremento. Il filtro deve restituire un valore booleano. Per esempi di espressioni di filtro, consulta Sintassi delle espressioni di filtro e Sintassi per l'indicizzazione avanzata. Per scoprire di più sul boost per la ricerca strutturata, consulta Migliorare i risultati di ricerca.