ElasticSearch Bodybuilder嵌套过滤器

时间:2018-10-17 10:26:47

标签: elasticsearch elasticsearch-aggregation bodybuilder.js

我有一个网站,访客可以在其中选择多个过滤器。

我基本上是在尝试构建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)和(宝马,梅赛德斯或本田))

关于实现该目标的任何想法?如果我错了,请纠正我。

0 个答案:

没有答案