Как выполнить агрегацию без дублирования основного query?

Существует проблема: мне всегда нужно включать в основной результат поиска документы с заданным списком id, которые имеют то же условие выборки. Проблема в том, в запросе используется пагинация, из-за которой обязательных документов может не быть в выдаче.

На SQL такой запрос будет выглядеть так:

-- строки с учетом пагинации
SELECT * FROM docs WHERE name MATCH ("текст") OFFSET 10 LIMIT 100
UNION
-- строки, которые всегда должны быть включены в результат независимо от пагинации
SELECT * FROM docs WHERE name MATCH ("текст") AND id IN ("1", "2", "3")  

Возможно ли написать похожий запрос в эластике? Если да, и это нужно делать через агрегацию, то можно ли в агрегации не дублировать условия основного query (добавить только аналог IN ("1", "2", "3")?


Ответы (0 шт):