У меня есть сайт, где посетитель может выбрать несколько фильтров.
Я в основном пытаюсь создать 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)»
То, что я на самом деле хочу, чтобы результат былmatch ((2016 или 2017 или 2018) и (BMW, Mercedes или Honda))
Есть ли у меня какие-нибудь идеи, чтобы достичь этого?Пожалуйста, поправьте меня, если я ошибаюсь.