Implementa il completamento automatico

Il completamento automatico di Google Cloud Search aiuta gli utenti suggerendo parole mentre digitano una query di ricerca. Ad esempio, i suggerimenti potrebbero includere parole dai titoli dei documenti, operatori di ricerca o nomi della tua organizzazione Google Workspace.

Il completamento automatico estrae le frasi dai titoli dei documenti indicizzati e utilizza un modello n-gram per determinare i suggerimenti utilizzando l'API Suggest. Per impostazione predefinita, il completamento automatico mostra le frasi dei titoli dei documenti. Puoi anche contrassegnare le proprietà dello schema di testo ed enum come is_suggestable per completare automaticamente i nomi e i valori delle proprietà.

L'API Suggest esamina le query di ricerca per suggerimenti sulla lingua, ad esempio inglese o spagnolo, e assegna la priorità ai risultati. Il languageCode campo in una richiesta migliora anche i suggerimenti specifici per la lingua.

Scenario di esempio

Considera un'origine dati contenente dati sui film:

  • L'origine dati contiene due documenti.
  • Ogni documento ha un titolo (ItemMetadata.title) e due proprietà: genre e characters.
  • Titolo del documento 1: "Avengers Infinity War"; genre=science fiction; characters=Iron Man, Hulk.
  • Titolo del documento 2: "Harry Potter"; genre=Adventure, Fantasy; characters=Hermione, Harry Potter.

La Figura 1 illustra come il completamento automatico estrae i suggerimenti.

Due documenti e l'n-gramma risultante
Figura 1. Due documenti e l'n-gram risultante utilizzato per il completamento automatico

Dal documento 1, il modello estrae n-gram (fino a trigrammi) come "Avengers", "Infinity", "War", "Avengers Infinity", "Infinity War" e "Avengers Infinity War". Dal documento 2, genera "Harry", "Potter" e "Harry Potter".

Se un utente digita "h" durante l'esecuzione di una query su questa origine dati, potrebbe visualizzare i seguenti suggerimenti:

  • Harry
  • Hermione
  • Hulk
  • Harry Potter

Se l'utente seleziona "Hermione" e poi digita "a", il completamento automatico potrebbe mostrare:

  • Hermione Adventure
  • Hermione Action
  • Hermione Avengers

Il completamento automatico tenta di completare l'ultima parola o l'ultimo n-gram digitato. In questo esempio, espande "a" in "adventure", "action" e "avengers" perché nessun testo indicizzato inizia con "hermione a". Questo è un suggerimento di coda.

Il completamento automatico di Cloud Search restituisce un massimo di cinque suggerimenti dai contenuti dei documenti e due suggerimenti per le persone.

Per impostazione predefinita, il completamento automatico mostra le frasi dei titoli dei documenti. Devi contrassegnare esplicitamente le proprietà dello schema come is_suggestable affinché l'API Suggest completi automaticamente i nomi e i valori delle proprietà.

Integrare l'API Suggest

Se utilizzi l'applicazione di ricerca predefinita o il widget di ricerca incorporabile, Cloud Search supporta in modo nativo il completamento automatico. Ricorda di contrassegnare le proprietà dello schema come is_suggestable se vuoi che vengano completate automaticamente.

Se stai creando un'applicazione di ricerca personalizzata, il completamento automatico è disponibile utilizzando gli endpoint API /query/suggest.

Limitazioni

Il completamento automatico presenta le seguenti limitazioni:

  • La limitazione delle frasi di completamento automatico utilizzando FilterOptions non è supportata, ad eccezione dei filtri integrati come objecttype e mimetype.
  • I suggerimenti basati sulla cronologia delle query di un utente non sono supportati.
  • Puoi contrassegnare un massimo di 20 proprietà come is_suggestable. Contatta l'assistenza di Cloud Search per aumentare questo limite.
  • Il completamento automatico degli operatori di ricerca non è disponibile per le proprietà con exact_match_with_operator.
  • Il completamento automatico restituisce un massimo di cinque suggerimenti sui contenuti dei documenti e due suggerimenti per le persone.
  • Il completamento automatico suggerisce solo le frasi dei documenti a cui l'utente può accedere.