Wdrażanie autouzupełniania

Autouzupełnianie w Cloud Search wspomaga użytkownika, sugerując słowa podczas wpisywania zapytania. Podpowiedziami mogą być na przykład słowa z tytułów dokumentów, operatorów wyszukiwania, wartości operatorów wyszukiwania lub imion i nazwisk oraz adresów e-mail z organizacji Google Workspace.

Autouzupełnianie wyodrębnia wyrażenia z tytułów zindeksowanych dokumentów i za pomocą modelu n gramów określa sugestie do wyświetlenia za pomocą interfejsu Suggest API. Domyślnie wyrażenia z tytułów dokumentów wyświetlają się w autouzupełnianiu. Właściwości schematu tekstu i wyliczeniowego możesz też oznaczyć jako is_suggestable, aby automatycznie uzupełniać odpowiednią nazwę i wartości właściwości.

Interfejs Suggest API sprawdza zapytanie pod kątem wskazówek dotyczących języka zapytania (np. angielski lub hiszpański) i na tej podstawie ustala priorytety wyników. Pole languageCode w żądaniu jest też używane do ulepszania sugestii w różnych językach.

Przykładowy scenariusz

Załóżmy np., że masz to źródło danych zawierające dane o filmach:

  • Źródło danych zawiera 2 dokumenty.
  • Każdy dokument ma tytuł (ItemMetadata.title) i 2 właściwości: genre i characters.
  • Pierwszy dokument nosi tytuł „Avengers Infinity War” i zawiera genre=science fiction i characters=Iron Man, Hulk.
  • Drugi dokument nosi tytuł „Harry Potter” z genre=Adventure, Fantasy andcharacters=Hermiona, Harry Potter`

Rysunek 1 przedstawia, jak sugestie autouzupełniania są wyodrębniane z tytułów, właściwości i wartości właściwości dokumentów.

Dwa dokumenty i wynikowy ngram
Rysunek 1. Dwa dokumenty i wynikowe n gramy używane do autouzupełniania

Z dokumentu 1 wyodrębniamy ngramy (do trygramów) „Avengers”, „Infinity”, „War”, „Avengers Infinity”, „Wojna bez granic”, „Avengers Infinity War”. Podobnie z dokumentu 2 generujemy „Harry”, „Potter” i „Harry Potter”.

Załóżmy, że użytkownik wysyła zapytanie do tego źródła danych, wpisując „h”. Sugestie wyświetlane użytkownikowi to:

  • Panda
  • Hermiona
  • Hulk
  • Harry Potter

Załóżmy, że użytkownik wybiera sugestię autouzupełniania „Hermione”, a następnym naciśnięciem klawisza przez użytkownika jest znak „a”. Sugestie autouzupełniania wyświetlane użytkownikowi:

  • Przygoda Hermione
  • Akcja Hermione
  • Hermione Avengers

Autouzupełnianie próbuje dokończyć ostatnie wpisywane słowo (lub ngram). W poprzednim przykładzie ciąg „a” rozwinął się do słów „przygodowe”, „akcja” i „avengers”, ponieważ nie ma tekstu zaczynającego się od słowa „hermione a”. Ta sugestia nazywa się sugerowaną ogoną – autouzupełnia tylko ostatnie wpisywane słowo/n-gram.

Autouzupełnianie w Cloud Search zwraca maksymalnie 5 sugestii z treści dokumentu i 2 sugestie osób.

Domyślnie wyrażenia z tytułów dokumentów są wyświetlane w autouzupełnianiu. Aby interfejs Suggest API mógł automatycznie uzupełniać odpowiednią nazwę i wartości właściwości, właściwości schematu muszą być wyraźnie oznaczone jako is_suggestable.

Integracja z interfejsem API Autocomplete

Jeśli używasz domyślnej wyszukiwarki lub umieszczonego widżetu wyszukiwania, funkcja autouzupełniania w Cloud Search jest natywnie obsługiwana i nie wymaga żadnych dodatkowych działań. Pamiętaj, że domyślnie wyrażenia z tytułów dokumentów wyświetlają się w autouzupełnianiu. Właściwości schematu muszą być wyraźnie oznaczone jako is_suggestable, aby interfejs Suggest API mógł automatycznie uzupełniać odpowiednią nazwę i wartości właściwości.

Jeśli tworzysz niestandardową wyszukiwarkę, możesz korzystać z autouzupełniania, wysyłając zapytania do punktów końcowych interfejsu API /query/suggest.

Ograniczenia

Autouzupełnianie ma te ograniczenia:

  • Ograniczanie wyrażeń autouzupełniania w Cloud Search za pomocą atrybutu FilterOptions zdefiniowanego w schemacie nie jest obsługiwane z wyjątkiem tych wbudowanych filtrów: objectype, mimetype i filtrów typu.

  • Sugestie oparte na historii zapytań (wyszukiwania przeprowadzone przez użytkownika wcześniej w aplikacji wyszukiwania) nie są obsługiwane

  • Jako is_suggestable można oznaczyć maksymalnie 20 usług. Ten limit można zwiększyć, kontaktując się z zespołem pomocy Cloud Search.

  • Autouzupełnianie z operatorem wyszukiwania jest niedostępne w przypadku usług z ustawieniem exact_match_with_operator.

  • Autouzupełnianie w Cloud Search zwraca maksymalnie 5 sugestii z treści dokumentu i 2 sugestie osób.

  • Autouzupełnianie w Cloud Search sugeruje wyrażenia tylko z tych dokumentów, do których użytkownik ma dostęp.