Функция автозаполнения Google Cloud Search помогает пользователям, предлагая слова по мере ввода поискового запроса. Например, в качестве подсказок могут использоваться слова из заголовков документов, поисковых операторов или названий из вашей организации Google Workspace.
Функция автозаполнения извлекает фразы из заголовков индексированных документов и использует n-граммовую модель для определения подсказок с помощью API Suggest. По умолчанию автозаполнение отображает фразы из заголовков документов. Вы также можете пометить свойства текстовой и перечислимой схемы как is_suggestable , чтобы использовать имена и значения свойств автозаполнения.
API Suggest анализирует поисковые запросы на наличие языковых подсказок, таких как английский или испанский, и определяет приоритетность результатов. Поле languageCode в запросе также улучшает предложения, специфичные для конкретного языка.
Пример сценария
Рассмотрим источник данных, содержащий информацию о фильмах:
- Источник данных содержит два документа.
- Каждый документ имеет заголовок (
ItemMetadata.title) и два свойства:genreиcharacters. - Название документа 1: "Мстители: Война бесконечности";
genre=science fiction;characters=Iron Man, Hulk. - Название документа 2: "Гарри Поттер";
genre=Adventure, Fantasy;characters=Hermione, Harry Potter.
На рисунке 1 показано, как функция автозаполнения извлекает подсказки.

Из документа 1 модель извлекает n-граммы (вплоть до триграмм), такие как "Avengers", "Infinity", "War", "Avengers Infinity", "Infinity War" и "Avengers Infinity War". Из документа 2 она генерирует "Harry", "Potter" и "Harry Potter".
Если пользователь введёт "h" при запросе к этому источнику данных, он может увидеть следующие подсказки:
- Гарри
- Гермиона
- Халк
- Гарри Поттер
Если пользователь выберет «Гермиона», а затем введёт «a», функция автозаполнения может показать следующее:
- Приключения Гермионы
- Гермиона в действии
- Гермиона Мстители
Функция автозаполнения пытается завершить последнее введенное слово или n-грамму. В этом примере она расширяет "a" до "adventure", "action" и "avengers", поскольку ни один индексированный текст не начинается с "hermione a". Это подсказка для завершения предложения.
Функция автозаполнения Cloud Search выдает максимум пять подсказок из содержимого документа и две подсказки о людях.
По умолчанию автозаполнение отображает фразы из заголовков документов. Для того чтобы API Suggest автоматически дополнял имена и значения свойств, необходимо явно пометить свойства схемы как is_suggestable .
Интеграция с API подсказок
Если вы используете стандартное приложение поиска или встраиваемый виджет поиска, Cloud Search поддерживает автозаполнение. Не забудьте пометить свойства схемы как is_suggestable если хотите, чтобы они автоматически дополнялись.
Если вы разрабатываете собственное приложение для поиска, функция автозаполнения доступна с помощью API-интерфейса /query/suggest .
Ограничения
Функция автозаполнения имеет следующие ограничения:
- Ограничение автозаполнения фраз с помощью
FilterOptionsне поддерживается, за исключением встроенных фильтров, таких какobjecttypeиmimetype. - Подсказки, основанные на истории запросов пользователя, не поддерживаются.
- Вы можете пометить как
is_suggestableмаксимум 20 объектов. Для увеличения этого лимита обратитесь в службу поддержки Cloud Search. - Автозаполнение операторов поиска недоступно для свойств с
exact_match_with_operator. - Функция автозаполнения выдает максимум пять вариантов содержимого документа и два варианта имен людей.
- Функция автозаполнения предлагает только фразы из документов, к которым пользователь имеет доступ.