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
icharacters
. - Pierwszy dokument nosi tytuł „Avengers: Infinity War” i ma numer
genre=science fiction
orazcharacters=Iron Man, Hulk
- Drugi dokument nosi tytuł „Harry Potter” i zawiera
genre=Adventure, Fantasy and
characters=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](https://developers.google.cn/static/cloud-search/images/autocomplete.png?hl=pl)
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.