Automatische Vervollständigung implementieren

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

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

Die Suggest API untersucht die Suchanfrage auf Hinweise zur Sprache der Suchanfrage, 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 Properties: genre und characters.
  • Das erste Dokument hat den Titel „Avengers Infinity War“ mit den Werten genre=science fiction und characters=Iron Man, Hulk.
  • Das zweite Dokument hat den Titel „Harry Potter“ und genre=Adventure, Fantasy andcharacters=Hermione, Harry Potter`.

Abbildung 1 zeigt, wie die Vorschläge für die automatische Vervollständigung aus den Dokumenttiteln, Properties und den Property-Werten extrahiert werden.

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

Aus Dokument 1 werden die N-Grammen (bis zu Trigramme) „Avengers“, „Infinity“, „War“, „Avengers Infinity“, „Infinity War“ und „Avengers Infinity War“ extrahiert. Ebenso werden aus Dokument 2 „Harry“, „Potter“ und „Harry Potter“ generiert.

Angenommen, der Nutzer beginnt beim Abfragen 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 Vorschlag „Hermione“ aus und der nächste Tastenanschlag ist das Zeichen „a“. Die automatischen Vervollständigungsvorschläge, die dem Nutzer angezeigt werden, wären:

  • Hermione Adventure
  • Hermine Action
  • Hermione Avengers

Die automatische Vervollständigung versucht, das letzte Wort (oder N-Gramm) zu vervollständigen, das gerade eingegeben wird. Im vorherigen Beispiel wird „a“ nur zu „adventure“, „action“ und „avengers“ erweitert, da kein Text mit „hermione a“ beginnt. Dieser Vorschlag wird als Endung bezeichnet. Dabei wird nur das letzte Wort bzw. N-Gramm 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 Werte automatisch vervollständigt.

Autocomplete API einbinden

Wenn Sie die Standardsuchanwendung oder das einbettbare Such-Widget verwenden, wird die automatische Vervollständigung von Cloud Search ohne zusätzliche Arbeit nativ unterstützt. Denken Sie daran, dass standardmäßig Begriffe aus den Dokumenttiteln in der automatischen Vervollständigung angezeigt werden. Schema-Properties müssen explizit als is_suggestable gekennzeichnet sein, damit die Suggest API den entsprechenden Property-Namen und die Werte automatisch vervollständigt.

Wenn Sie eine benutzerdefinierte Suchanwendung erstellen, können Sie die automatische Vervollständigung durch Abfragen der /query/suggest API-Endpunkte nutzen.

Beschränkungen

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

  • Die Einschränkung der automatischen Vervollständigung in der Cloud Suche mithilfe der im Schema definierten FilterOptions wird mit Ausnahme der folgenden integrierten Filter nicht unterstützt: objectype, mimetype und Typfilter.

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

  • Maximal 20 Properties können 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.

  • Die automatische Vervollständigung in Cloud Search schlägt nur Begriffe aus Dokumenten vor, auf die der Nutzer Zugriff hat.