可以和/或嵌套在过滤器中吗?
我想过滤这样的内容...... a=1 AND ( d=NULL OR d>5 )
有人可以帮忙吗?
答案 0 :(得分:1)
您可以在弹性搜索中使用这样的Lucene查询字符串:
http://www.elasticsearch.org/guide/reference/query-dsl/query-filter.html
以下是对如何使用()进行分组的参考...需要注意的一件事是我发现带有+前缀的组语句必须有符号才能返回更准确的结果。
http://lucene.apache.org/java/3_2_0/queryparsersyntax.html
分组即将结束。
...哦,如果你要使用比RangeQuery更大的内容可以覆盖这个案例 将上限或下限设置为null。
学家
答案 1 :(得分:0)
这可能有点晚了,但如果有其他人在寻找这个,我发现搜索词AND过滤器很容易添加。只需在查询中使用更多单词并将其与空格分开。
Scala示例:
val queryString = client.prepareSearch().setQuery(QueryBuilders.matchQuery("json.path.to.node", "sky car")).setSize(MAX_RESULTS)
val response = queryString.execute().actionGet()
现在,响应将包含所有包含sky AND car