1

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

任何人都可以帮忙吗?

4

2 回答 2

1

您可以在弹性搜索中使用这样的 Lucene 查询字符串:

http://www.elasticsearch.org/guide/reference/query-dsl/query-filter.html

这里是关于如何使用 () 进行分组的参考……要注意的一点是,我发现使用 + 必须具有符号前缀的组语句返回更准确的结果。

http://lucene.apache.org/java/3_2_0/queryparsersyntax.html

分组在最后。

...哦,如果您要使用大于 RangeQuery 可以通过将上限或下限设置为空来覆盖这种情况。

J。

于 2011-06-13T21:53:58.487 回答
0

这可能有点晚了,但如果其他人正在寻找这个,我发现搜索词和过滤器很容易添加。只需在查询中使用更多单词并用空格分隔它们。

斯卡拉示例:

val queryString = client.prepareSearch().setQuery(QueryBuilders.matchQuery("json.path.to.node", "sky car")).setSize(MAX_RESULTS)
val response = queryString.execute().actionGet()

现在响应将具有包含两者的所有结果sky AND car

于 2013-04-16T14:03:16.467 回答