Wdrażanie autouzupełniania

Autouzupełnianie w Google Cloud Search pomaga użytkownikom, sugerując słowa podczas wpisywania zapytania. Sugestie mogą na przykład zawierać słowa z tytułów dokumentów, operatory wyszukiwania lub nazwy z organizacji Google Workspace.

Autouzupełnianie wyodrębnia frazy z tytułów indeksowanych dokumentów i używa modelu n-gramów do określania sugestii za pomocą interfejsu Suggest API. Domyślnie autouzupełnianie wyświetla frazy z tytułów dokumentów. Możesz też oznaczyć właściwości schematu tekstowego i wyliczeniowego jako is_suggestable, aby autouzupełniać nazwy i wartości właściwości.

Interfejs Suggest API analizuje zapytania pod kątem wskazówek dotyczących języka, takich jak angielski czy hiszpański, i ustala priorytety wyników. Pole languageCode w żądaniu również poprawia sugestie dotyczące języka.

Przykład

Załóżmy, że masz ź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: genre i characters.
  • Tytuł dokumentu 1: „Avengers: Wojna bez granic”; genre=science fiction; characters=Iron Man, Hulk.
  • Tytuł dokumentu 2: "Harry Potter"; genre=Adventure, Fantasy; characters=Hermione, Harry Potter.

Rysunek 1 pokazuje, jak autouzupełnianie wyodrębnia sugestie.

Dwa dokumenty i wynikowy n-gram
Rysunek 1. 2 dokumenty i wynikowy n-gram używany do autouzupełniania

Z dokumentu 1 model wyodrębnia n-gramy (do trigramów), takie jak „Avengers”, „Infinity”, „War”, „Avengers Infinity”, „Infinity War” i „Avengers Infinity War”. Z dokumentu 2 generuje „Harry”, „Potter” i „Harry Potter”.

Jeśli użytkownik wpisze „h” podczas wyszukiwania w tym źródle danych, może zobaczyć te sugestie:

  • Harry
  • Hermiona
  • Hulk
  • Harry Potter

Jeśli użytkownik wybierze „Hermiona” i wpisze „a”, autouzupełnianie może wyświetlić:

  • Hermiona Adventure
  • Hermiona Action
  • Hermiona Avengers

Autouzupełnianie próbuje uzupełnić ostatnie wpisane słowo lub n-gram. W tym przykładzie rozszerza „a” do „adventure”, „action” i „avengers”, ponieważ żaden indeksowany tekst nie zaczyna się od „hermione a”. Jest to sugestia ogonowa.

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

Domyślnie autouzupełnianie wyświetla frazy z tytułów dokumentów. Aby interfejs Suggest API mógł autouzupełniać nazwy i wartości właściwości, musisz wyraźnie oznaczyć właściwości schematu jako is_suggestable.

Integracja z interfejsem Suggest API

Jeśli używasz domyślnej aplikacji do wyszukiwania lub widżetu wyszukiwania do osadzania, Cloud Search natywnie obsługuje autouzupełnianie. Jeśli chcesz, aby właściwości schematu były autouzupełniane, pamiętaj, aby oznaczyć je jako is_suggestable.

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

Ograniczenia

Autouzupełnianie ma te ograniczenia:

  • Ograniczanie fraz autouzupełniania za pomocą FilterOptions nie jest obsługiwane, z wyjątkiem wbudowanych filtrów, takich jak objecttype i mimetype.
  • Sugestie oparte na historii zapytań użytkownika nie są obsługiwane.
  • Możesz oznaczyć maksymalnie 20 właściwości jako is_suggestable. Aby zwiększyć ten limit, skontaktuj się z zespołem pomocy Cloud Search.
  • Autouzupełnianie operatorów wyszukiwania jest niedostępne w przypadku właściwości z exact_match_with_operator.
  • Autouzupełnianie zwraca maksymalnie 5 sugestii dotyczących treści dokumentu i 2 sugestie dotyczące osób.
  • Autouzupełnianie sugeruje tylko frazy z dokumentów, do których użytkownik ma dostęp.