Automatische Vervollständigung implementieren

Die automatische Vervollständigung in Google Cloud Search unterstützt Nutzer, indem Wörter vorgeschlagen werden, 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 Formulierungen aus indexierten Dokumenttiteln und verwendet ein N-Gramm-Modell, um Vorschläge über die Suggest API zu ermitteln. Standardmäßig werden bei der automatischen Vervollständigung Formulierungen aus Dokumenttiteln angezeigt. Sie können auch Text- und Enum-Schema-Properties als is_suggestable markieren, um Attributnamen und -werte automatisch zu vervollständigen.

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

Beispielszenario

Stellen Sie sich eine Datenquelle mit Filmdaten vor:

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

Abbildung 1 zeigt, wie Vorschläge für die automatische Vervollständigung extrahiert werden.

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

Aus Dokument 1 extrahiert das Modell N-Gramme (bis zu Trigrammen) 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
  • Hulk
  • Harry Potter

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

  • Hermine Adventure
  • Hermine-Aktion
  • Hermine Avengers

Die automatische Vervollständigung versucht, das zuletzt eingegebene Wort oder N-Gramm zu vervollständigen. In diesem Beispiel wird „a“ zu „adventure“, „action“ und „avengers“ erweitert, da kein indexierter Text mit „hermione a.“ beginnt. Dies ist ein Vorschlag für eine Tail-Übereinstimmung.

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

Standardmäßig werden bei der automatischen Vervollständigung Formulierungen aus Dokumenttiteln angezeigt. Sie müssen Schema-Properties explizit als is_suggestable kennzeichnen, 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, Schemaeigenschaften als is_suggestable zu kennzeichnen, wenn sie automatisch vervollständigt werden sollen.

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

Beschränkungen

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

  • Das Einschränken von Autocomplete-Begriffen mit FilterOptions wird nicht unterstützt, mit Ausnahme von integrierten Filtern wie objecttype und mimetype.
  • Vorschläge basierend auf dem Abfrageverlauf eines Nutzers 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 Vervollständigung schlägt nur Formulierungen aus Dokumenten vor, auf die der Nutzer zugreifen kann.