ElasticSearch Bodybuilder Вложенные фильтры
У меня есть сайт, где посетитель может выбрать несколько фильтров.
Я в основном пытаюсь создать orFilter, где я просто скажу, чтобы соответствовать всем строкам, где производитель является одним из выбранных.
Я бы хотел, чтобы запрос был вложенным, так как есть и другие фильтры, и простое помещение нескольких orFilters в основном отменяет другие фильтры.
let facetValues = ['BMW', 'Mercedes','Honda'] //(put for simplicity)
facetValues.forEach(value => {
elasticQuery = elasticQuery.orFilter('term', 'manufacturer', value)
})
Это то, что у меня сейчас.
Если также добавить
let facetValues = [2016, 2017, 2018] //(put for simplicity)
facetValues.forEach(value => {
elasticQuery = elasticQuery.orFilter('term', 'production_year', value)
})
Тогда это будет в основном "соответствовать каждому документу, который соответствует любому из 6 атрибутов выше (т.е. 2016 или 2017 или 2018 или BMW, или Mercedes, или Honda)".
Что я на самом деле хочу, чтобы результат был матч ((2016 или 2017 или 2018) и (BMW или Mercedes или Honda))
Любые идеи я бы пошел, чтобы достичь этого? Пожалуйста, поправьте меня, если я ошибаюсь.