弹性搜索/和嵌套可能吗?

时间:2011-05-21 08:22:35

标签: indexing elasticsearch

可以和/或嵌套在过滤器中吗? 我想过滤这样的内容...... a=1 AND ( d=NULL OR d>5 )

有人可以帮忙吗?

2 个答案:

答案 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

的结果