Automatische Vervollständigung implementieren

Die automatische Vervollständigung in Google Cloud Search unterstützt Nutzer, indem sie Wörter vorschlägt, während sie eine Suchanfrage eingeben. Vorschläge können beispielsweise Wörter aus Dokumenttiteln, Suchoperatoren oder Namen aus Ihrer Google Workspace-Organisation enthalten.

Die automatische Vervollständigung extrahiert Wortgruppen aus indexierten Dokumenttiteln und verwendet ein N-Gramm-Modell, um mithilfe der Suggest API Vorschläge zu bestimmen. Standardmäßig werden Wortgruppen aus Dokumenttiteln angezeigt. Sie können auch Text- und Enum-Schemaproperties als is_suggestable markieren, um Property-Namen und -Werte automatisch zu vervollständigen.

Die Suggest API untersucht Suchanfragen auf Sprachhinweise wie Englisch oder Spanisch und priorisiert die Ergebnisse. Das languageCode Feld in einer Anfrage verbessert auch sprachspezifische Vorschläge.

Beispielszenario

Betrachten Sie eine Datenquelle mit Filmdaten:

  • Die Datenquelle enthält zwei Dokumente.
  • Jedes Dokument hat einen Titel (ItemMetadata.title) und zwei Properties: genre und characters.
  • Dokument 1: Titel „Avengers Infinity War“, genre=science fiction, characters=Iron Man, Hulk.
  • Dokument 2: Titel „Harry Potter“, genre=Adventure, Fantasy, characters=Hermione, Harry Potter.

Abbildung 1 zeigt, wie die automatische Vervollständigung Vorschläge extrahiert.

Zwei Dokumente und das resultierende N-Gramm
Abbildung 1. Zwei Dokumente und das resultierende N-Gramm, das für die automatische Vervollständigung verwendet wird autocomplete

Aus Dokument 1 extrahiert das Modell N-Gramme (bis zu Trigramme) wie „Avengers“, „Infinity“, „War“, „Avengers Infinity“, „Infinity War“ und „Avengers Infinity War“. Aus Dokument 2 werden „Harry“, „Potter“ und „Harry Potter“ generiert.

Wenn ein Nutzer bei der Abfrage dieser Datenquelle „h“ eingibt, werden möglicherweise die folgenden Vorschläge angezeigt:

  • Harry
  • Hermine Granger
  • Hulk
  • Harry Potter

Wenn der Nutzer „Hermine“ auswählt und dann „a“ eingibt, werden möglicherweise die folgenden Vorschläge angezeigt:

  • Hermine Adventure
  • Hermine Action
  • Hermine Avengers

Die automatische Vervollständigung versucht, das letzte eingegebene Wort oder N-Gramm zu vervollständigen. In diesem Beispiel wird „a“ zu „Adventure“, „Action“ und „Avengers“ erweitert, da kein indexierter Text mit „Hermine a“ beginnt. Dies ist ein Vorschlag für eine Ergänzung.

Die automatische Vervollständigung in Cloud Search gibt maximal fünf Vorschläge aus Dokumentinhalten und zwei Vorschläge für Personen zurück.

Standardmäßig werden Wortgruppen aus Dokumenttiteln angezeigt. Sie müssen Schemaproperties explizit als is_suggestable markieren, damit die Suggest API Property-Namen und -Werte automatisch vervollständigen kann.

In die Suggest API einbinden

Wenn Sie die Standardsuchanwendung oder das einbettbare Such-Widget verwenden, wird die automatische Vervollständigung in Cloud Search nativ unterstützt. Denken Sie daran, Schemaproperties als is_suggestable zu markieren, wenn sie automatisch vervollständigt werden sollen.

Wenn Sie eine benutzerdefinierte Suchanwendung erstellen, ist die automatische Vervollständigung über die API-Endpunkte /query/suggest verfügbar.

Beschränkungen

Für die automatische Vervollständigung gelten die folgenden Einschränkungen:

  • Das Einschränken von Wortgruppen für die automatische Vervollständigung mit FilterOptions wird nicht unterstützt, mit Ausnahme von integrierten Filtern wie objecttype und mimetype.
  • Vorschläge, die auf dem Suchverlauf eines Nutzers basieren, werden nicht unterstützt.
  • Sie können maximal 20 Properties als is_suggestable markieren. Wenden Sie sich an den Cloud Search-Support, um dieses Limit zu erhöhen.
  • Die automatische Vervollständigung von Suchoperatoren ist für Properties mit exact_match_with_operator nicht verfügbar.
  • Die automatische Vervollständigung gibt maximal fünf Vorschläge für Dokumentinhalte und zwei Vorschläge für Personen zurück.
  • Die automatische Vervollständigung schlägt nur Wortgruppen aus Dokumenten vor, auf die der Nutzer Zugriff hat.