Wdrażanie autouzupełniania

Autouzupełnianie w Cloud Search pomaga użytkownikowi, podpowiadając słowa, gdy wpisują oni zapytanie. Sugestie mogą na przykład zawierać słowa z tytułów dokumentów, operatorów wyszukiwania, wartości operatorów wyszukiwania lub nazwy i adresy 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 w autouzupełnianiu wyświetlane są wyrażenia z tytułów dokumentów. Możesz też oznaczyć jako is_suggestable właściwości schematu, które zawierają tekst i enumeracje, aby automatycznie uzupełniać ich nazwy i wartości.

Interfejs Suggest API analizuje zapytanie o wyszukiwanie pod kątem wskazówek dotyczących języka zapytania, np. angielski czy hiszpański, i odpowiednio ustala priorytety wyników. Pole languageCode żądania jest też używane do ulepszania sugestii dotyczących języka.

Przykładowy scenariusz

Załóżmy, że masz takie ź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 ma numergenre=science fiction orazcharacters=Iron Man, Hulk
  • Drugi dokument nosi tytuł „Harry Potter” i zawiera genre=Adventure, Fantasy andcharacters=Hermione, Harry Potter`.

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

Dwa dokumenty i wynikowy wszechsłownik
Rysunek 1. Dwa dokumenty i wynikowe 3-gramy używane do autouzupełniania

Z dokumentu 1 wyodrębniamy n-gramy (maksymalnie trigramy) „Avengers”, „Infinity”, „War”, „Avengers Infinity”, „Infinity War”, „Avengers Infinity War”. Z dokumentu 2 generujemy podobnie „Harry”, „Potter”, „Harry Potter”.

Gdy użytkownik wysyła zapytanie do tego źródła danych, zaczyna od wpisania „h”. Sugerowane działania:

  • Panda
  • Hermione
  • Hulk
  • Harry Potter

Załóżmy, że użytkownik wybiera sugestię autouzupełniania „Hermione”, a następny znak, który wpisuje, to „a”. Podpowiedzi autouzupełniania wyświetlane użytkownikowi:

  • Hermione Adventure
  • Hermione Action
  • Hermione Avengers

Autouzupełnianie próbuje uzupełnić ostatnie słowo (lub n-gram) wpisywane przez użytkownika. W poprzednim przykładzie rozszerza ono „a” na „przygoda”, „akcja” i „Avengers”, ponieważ nie ma tekstu zaczynającego się od „Hermione a”. Ta sugestia to tzw. sugestia końcowa, czyli autouzupełnianie tylko ostatniego słowa/n-gramu.

Automatyczne uzupełnianie w Cloud Search zwraca maksymalnie 5 sugestii z treści dokumentu i 2 sugestie dotyczące osób.

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

Integracja z interfejsem Autocomplete API

Jeśli używasz domyślnej aplikacji do wyszukiwania lub wstawianego widżetu wyszukiwania, funkcja automatycznego uzupełniania Cloud Search jest obsługiwana natywnie bez konieczności wykonywania dodatkowych czynności. Pamiętaj, że domyślnie w autouzupełnianiu wyświetlają się wyrażenia z tytułów dokumentów. Aby interfejs API sugestii mógł automatycznie uzupełniać nazwy i wartości odpowiednich właściwości, właściwości schema muszą być wyraźnie oznaczone jako is_suggestable.

Jeśli tworzysz niestandardową aplikację wyszukiwania, autouzupełnianie jest dostępne po przesłaniu zapytania do punktów końcowych interfejsu API /query/suggest.

Ograniczenia

Autouzupełnianie ma te ograniczenia:

  • Ograniczanie fraz autouzupełniania w Cloud Search za pomocą zdefiniowanych w schemacie FilterOptions filtrów nie jest obsługiwane, z wyjątkiem tych wbudowanych filtrów: objectype, mimetype i filtrów typu.

  • Sugestie na podstawie historii zapytań (wyszukiwania wykonane przez użytkownika 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 operatora wyszukiwania jest niedostępne w przypadku usług z użyciem operatora exact_match_with_operator.

  • Automatyczne uzupełnianie w Cloud Search zwraca maksymalnie 5 sugestii z treści dokumentu i 2 sugestie dotyczące osób.

  • Autouzupełnianie w Cloud Search podpowiada frazy tylko z dokumentów, do których użytkownik ma dostęp.