Automatische Vervollständigung implementieren

Die automatische Vervollständigung von Cloud Search unterstützt einen Nutzer, indem er bei der Eingabe einer Suchanfrage Wörter vorschlägt. Vorschläge können beispielsweise Wörter aus Dokumenttiteln, Suchoperatoren, Suchoperatoren-Werten oder Namen und E-Mail-Adressen aus der Google Workspace-Organisation sein.

Die automatische Vervollständigung extrahiert Wortgruppen aus den Titeln indexierter Dokumente und ermittelt mithilfe eines N-Gramm-Modells Vorschläge zur Bereitstellung über die Suggest API. Standardmäßig werden Formulierungen aus den Dokumenttiteln automatisch vervollständigt. Sie können auch Text- und Enum-Schemaattribute als is_suggestable markieren, um den entsprechenden Attributnamen und die entsprechenden Attributwerte automatisch zu vervollständigen.

Die Suggest API prüft die Suchanfrage auf Hinweise zur Sprache der Abfrage, z. B. Englisch oder Spanisch, und priorisiert die Ergebnisse entsprechend. Das Feld languageCode einer Anfrage wird auch zur Verbesserung sprachspezifischer Vorschläge verwendet.

Beispielszenario

Angenommen, Sie haben die folgende Datenquelle, die Daten zu Filmen enthält:

  • Die Datenquelle enthält zwei Dokumente.
  • Jedes Dokument hat einen Titel (ItemMetadata.title) und zwei Properties: genre und characters.
  • Das erste Dokument heißt „Avengers Infinity War“ mit genre=science fiction und characters=Iron Man, Hulk
  • Das zweite Dokument heißt „Harry Potter“ mit genre=Adventure, Fantasy andCharakteren=Hermine, Harry Potter`.

In Abbildung 1 sehen Sie, wie die Vorschläge für die automatische Vervollständigung aus Dokumenttiteln, Attributen und Attributwerten extrahiert werden.

Zwei Dokumente und das resultierende Ngram
Abbildung 1. Zwei Dokumente und das daraus resultierende N-Gramm für die automatische Vervollständigung

Aus Dokument 1 extrahieren wir Ngrams (bis zu Trigramme) „Avengers“, „Infinity“, „War“, „Avengers Infinity“, „Infinity War“, „Avengers Infinity War“. Ähnlich generieren wir aus Dokument 2 „Harry“, „Potter“ und „Harry Potter“.

Angenommen, der Nutzer beginnt bei der Abfrage dieser Datenquelle mit der Eingabe von „h“. Dem Nutzer werden folgende Vorschläge angezeigt:

  • Harry
  • Hermine
  • Hulk
  • Harry Potter

Angenommen, der Nutzer wählt den automatisch vervollständigten Vorschlag „Hermine“ aus und der nächste Tastenanschlag des Nutzers ist das Zeichen „a“. Dem Nutzer werden folgende automatisch vervollständigte Vorschläge angezeigt:

  • Hermine Abenteuer
  • Hermine Action
  • Rächer Hermine

Die automatische Vervollständigung versucht, das letzte eingegebene Wort (oder Ngram) zu vervollständigen. Im vorherigen Beispiel wird nur "a" in "abenteuer", "action" und "avengers" erweitert, da zusammen kein Text mit "hermine a" am Anfang vorhanden ist. Dieser Vorschlag wird als „Tail Suggest“ bezeichnet, bei dem nur das letzte eingegebene Wort bzw. N-Gramm automatisch vervollständigt wird.

Die automatische Vervollständigung von Cloud Search gibt maximal fünf Vorschläge aus dem Dokumentinhalt und 2 Personenvorschläge zurück.

Standardmäßig werden Formulierungen aus den Dokumenttiteln automatisch vervollständigt. Schemaattribute müssen explizit als is_suggestable gekennzeichnet werden, damit die Suggest API den entsprechenden Attributnamen und die entsprechenden Attributwerte vervollständigt.

In die Autocomplete API einbinden

Wenn Sie die Standardsuchanwendung oder das einbettbare Suchwidget verwenden, wird die automatische Vervollständigung von Cloud Search nativ und ohne zusätzlichen Aufwand unterstützt. Denken Sie daran, dass Formulierungen aus den Dokumenttiteln standardmäßig automatisch vervollständigt werden. Schemaattribute müssen explizit als is_suggestable gekennzeichnet werden, damit die Suggest API den entsprechenden Attributnamen und die entsprechenden Attributwerte automatisch vervollständigt.

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

Beschränkungen

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

  • Das Einschränken der automatisch vervollständigten Wortgruppen in Cloud Search mithilfe des im Schema definierten FilterOptions wird nicht unterstützt. Hiervon ausgenommen sind die folgenden integrierten Filter: objectype, mimetype und Typfilter.

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

  • Es können maximal 20 Properties als is_suggestable markiert werden. 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 von Cloud Search gibt maximal fünf Vorschläge aus dem Dokumentinhalt und 2 Personenvorschläge zurück.

  • Die automatische Vervollständigung von Cloud Search schlägt nur Wortgruppen aus den Dokumenten vor, auf die ein Nutzer Zugriff hat.