FilterQuery ТОЛЬКО хранит идентификаторы документов. Это позволяет очень быстро применять фильтр для включения / исключения документов. Хорошие примеры этого - фильтрация продуктов из поиска по стране, типу продукта, доступности и т. Д.
Обычный запрос может выполнять точно такую же функцию, но он имеет очень сложную систему оценки для определения «релевантности». Я полагаю, что в документации указано, что оценка выполняется только в основном запросе, а не в фильтре. Это также должно увеличить скорость запроса.
Итак, я могу запросить:
description:Kohler AND productType:Toilet
Или я могу запросить:
description:Kohler
with a FQ of productType:Toilet
Результаты будут такими же, но результаты будут другими. Кроме того, если в течение дня вы получите много разных запросов, относящихся к productType:Toilet
, FilterQuery будет кэшироваться, что ускоряет общее время запроса.