Wdrażanie autouzupełniania

Autouzupełnianie w Cloud Search pomaga użytkownikowi, sugerując słowa podczas wpisywania zapytania. Propozycje mogą na przykład zawierać słowa z tytułów dokumentów, operatory wyszukiwania, wartości operatorów wyszukiwania lub nazwy i adresy e-mail z organizacji Google Workspace.

Autouzupełnianie wyodrębnia frazy z tytułów indeksowanych dokumentów i za pomocą modelu n-gramów określa sugestie, które mają być wyświetlane przy użyciu interfejsu Suggest API. Domyślnie w autouzupełnianiu wyświetlane są frazy z tytułów dokumentów. Możesz też oznaczyć właściwości schematu tekstowego i wyliczeniowego jako is_suggestable, aby automatycznie uzupełniać odpowiednie nazwy i wartości właściwości.

Interfejs Suggest API analizuje zapytanie pod kątem wskazówek dotyczących jego języka, np. angielskiego lub hiszpańskiego, i odpowiednio ustala priorytety wyników. Pole languageCode w żądaniu jest też używane do ulepszania sugestii w określonym języku.

Przykładowy scenariusz

Załóżmy na przykład, że masz to źródło danych zawierające informacje o filmach:

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

Ilustracja 1 pokazuje, 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 powstały n-gram
Rysunek 1. Dwa dokumenty i wynikowy n-gram używane do autouzupełniania

Z dokumentu 1 wyodrębniamy n-gramy (do trigramów): „Avengers”, „Infinity”, „War”, „Avengers Infinity”, „Infinity War”, „Avengers Infinity War”. Podobnie z dokumentu 2 generujemy „Harry”, „Potter”, „Harry Potter”.

Załóżmy, że podczas wysyłania zapytania do tego źródła danych użytkownik zaczyna od wpisania litery „h”. Użytkownikowi wyświetlą się te sugestie:

  • Panda
  • Hermiona
  • Hulk
  • Harry Potter

Załóżmy, że użytkownik wybiera sugestię autouzupełniania „Hermiona”, a następnie wpisuje znak „a”. Sugestie autouzupełniania wyświetlane użytkownikowi to:

  • Hermione Adventure
  • Hermione Action
  • Hermiona Avengers

Autouzupełnianie próbuje dokończyć ostatnie wpisywane słowo (lub n-gram). W poprzednim przykładzie rozszerza on tylko „a” na „adventure”, „action” i „avengers”, ponieważ nie ma tekstu zaczynającego się od „hermione a”. Ta sugestia jest nazywana sugestią końcową. Autouzupełnianie dotyczy tylko ostatniego słowa lub n-gramu, które są wpisywane.

Funkcja automatycznego uzupełniania 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ą frazy z tytułów dokumentów. Właściwości schematu muszą być wyraźnie oznaczone jako is_suggestable, aby interfejs API sugestii mógł automatycznie uzupełniać odpowiednie nazwy właściwości i wartości.

Integracja z interfejsem Autocomplete API

Jeśli używasz domyślnej wyszukiwarki lub widżetu wyszukiwania do umieszczenia na stronie, funkcja automatycznego uzupełniania w Cloud Search jest obsługiwana natywnie bez dodatkowej pracy. Pamiętaj, że domyślnie w autouzupełnianiu wyświetlane są frazy z tytułów dokumentów. Właściwości schematu muszą być wyraźnie oznaczone jako is_suggestable, aby interfejs API sugestii mógł automatycznie uzupełniać odpowiednią nazwę właściwości i wartości.

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

Ograniczenia

Autouzupełnianie ma te ograniczenia:

  • Ograniczanie fraz autouzupełniania w Cloud Search za pomocą elementu 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 wykonane wcześniej przez użytkownika w aplikacji do wyszukiwania) nie są obsługiwane.

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

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

  • Funkcja automatycznego uzupełniania 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.