Automatische Vervollständigung implementieren

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

Autocomplete extrahiert Formulierungen aus den Titeln indexierter Dokumente und bestimmt mithilfe eines N-Gramm-Modells Vorschläge, die über die Suggest API bereitgestellt werden. Standardmäßig werden Begriffe aus den Dokumenttiteln in der automatischen Vervollständigung angezeigt. Sie können auch Text- und Enum-Schema-Properties als is_suggestable markieren, um den entsprechenden Property-Namen und die Werte automatisch zu vervollständigen.

Die Suggest API untersucht die Suchanfrage auf Hinweise zur Sprache der Anfrage, z. B. Englisch oder Spanisch, und priorisiert die Ergebnisse entsprechend. Das Feld languageCode einer Anfrage wird auch verwendet, um sprachspezifische Vorschläge zu verbessern.

Beispielszenario

Angenommen, Sie haben die folgende Datenquelle mit Daten zu Filmen:

  • Die Datenquelle enthält zwei Dokumente.
  • Jedes Dokument hat einen Titel (ItemMetadata.title) und zwei Attribute: genre und characters.
  • Das erste Dokument trägt den Titel „Avengers Infinity War“ mit genre=science fiction und characters=Iron Man, Hulk.
  • Das zweite Dokument trägt den Titel „Harry Potter“ mit genre=Adventure, Fantasy andcharacters=Hermione, Harry Potter`

Abbildung 1 zeigt, wie die Vorschläge für die automatische Vervollständigung aus den Dokumenttiteln, Eigenschaften und Eigenschaftswerten 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 werden N-Gramme (bis zu Trigrammen) wie „Avengers“, „Infinity“, „War“, „Avengers Infinity“, „Infinity War“ und „Avengers Infinity War“ extrahiert. Aus Dokument 2 werden „Harry“, „Potter“ und „Harry Potter“ generiert.

Wenn der Nutzer diese Datenquelle abfragt und mit „h“ beginnt, Dem Nutzer werden folgende Vorschläge angezeigt:

  • Harry
  • Hermine
  • Hulk
  • Harry Potter

Angenommen, der Nutzer wählt den Vorschlag für die automatische Vervollständigung „Hermine“ aus und gibt als Nächstes den Buchstaben „a“ ein. Dem Nutzer werden folgende Vorschläge für die automatische Vervollständigung angezeigt:

  • Hermine Adventure
  • Hermine-Aktion
  • Hermine Avengers

Die automatische Vervollständigung versucht, das letzte eingegebene Wort (oder N-Gramm) zu vervollständigen. Im vorherigen Beispiel wird „a“ einfach zu „adventure“, „action“ und „avengers“ erweitert, da es keinen Text gibt, der mit „hermione a“ beginnt. Dieser Vorschlag wird als „Tail Suggestion“ bezeichnet. Dabei wird nur das letzte Wort bzw. N-Gramm, das eingegeben wird, automatisch vervollständigt.

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

Standardmäßig werden Begriffe aus den Dokumenttiteln in der automatischen Vervollständigung angezeigt. Schema-Properties müssen explizit als is_suggestable gekennzeichnet sein, damit die Suggest API den entsprechenden Property-Namen und die entsprechenden Werte automatisch vervollständigen kann.

In die Autocomplete API einbinden

Wenn Sie die Standardsuchanwendung oder das einbettbare Such-Widget verwenden, wird die Funktion zur automatischen Vervollständigung von Cloud Search nativ unterstützt, ohne dass zusätzliche Maßnahmen erforderlich sind. Standardmäßig werden Wortgruppen aus den Dokumenttiteln in der automatischen Vervollständigung angezeigt. Schema-Properties müssen explizit als is_suggestable gekennzeichnet sein, damit die Suggest API den entsprechenden Property-Namen und die Werte automatisch vervollständigen kann.

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

Beschränkungen

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

  • Das Einschränken der Autocomplete-Begriffe von Cloud Search mit dem im Schema definierten FilterOptions wird nicht unterstützt, mit Ausnahme der folgenden integrierten Filter: objectype, mimetype und Typfilter.

  • Vorschläge, die auf dem Suchverlauf basieren (Suchanfragen, die der Nutzer zuvor in einer Suchanwendung ausgeführt hat), werden nicht unterstützt.

  • Es können maximal 20 Properties als is_suggestable gekennzeichnet werden. Dieses Limit kann erhöht werden, indem Sie sich an den Cloud Search-Support wenden.

  • Die automatische Vervollständigung von Suchoperatoren ist für Properties mit exact_match_with_operator nicht verfügbar.

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

  • Bei der automatischen Vervollständigung in Cloud Search werden nur Formulierungen aus Dokumenten vorgeschlagen, auf die ein Nutzer Zugriff hat.