Я создаю функции новостной ленты для пользователей, я хочу обрабатывать результаты с помощью запроса и фильтра, но мне нужна связь 'или' между условия запроса и фильтрации, например:
posts query: 'old castles' or filter: {country: 'France'}
Это означает, что дайте мне сообщения, в которых выполняется поиск по запросу "старые замки". или поле "Страна" в точности равно "Франция"
P.S. Приложение находится на Rails, и я использую гем searchkick для взаимодействия с elasticsearch.
ИЗМЕНИТЬ
В справочнике elasticsearch я нашел запрос как фильтр функция, которая может быть полезна для достижения нужного мне результата, но я не смог найти способ сделать это в searchkick
{"query": {"filtered": {"query": {"dis_max": { "queries": [ {"match": {"_all":{"query":"castle old","operator":"or","boost":1,"analyzer":"searchkick_search","fuzziness":1,"prefix_length":0,"max_expansions":3,"fuzzy_transpositions":true}} } ] } }, "filter": {"and": [{"or": [{"and": [{"term":{"country":"georgia"}}]}, {"and":[{"term":{"country":"ukraine"}}]}] }] } } }, "size":24, "from":0 }
отправлено из searchkick в elasticsearch, но не обеспечивает связи или между запросом и фильтром - person Nkadze   schedule 09.03.2016