Игорь, доброго времени суток. Подскажите, пожалуйста.
Может я не так понял зачем нужен фильтр?
В запросе ниже основное слово запроса игнорируется и поиск идет уже по содержимому фильтров.
Сам массив фильтров формируется в цикле таким образом:
filterParams.push(JSON.parse('{"match": {' + JSON.stringify(value.path) + ' : '+ JSON.stringify(value.value) + '}}'));
{
from:(from)?from:page*pagingLimit,
size:pagingLimit,
sort: sortParams,
query: {
filtered: {
query: {
match: {
_all: searchTerm
},
filter:{
and : filterParams
}
}
}
},
highlight: {
fields: {
"*": {require_field_match: false}
}
}
}