【问题标题】:elastic-search on/and nesting possible?弹性搜索/和嵌套可能?
【发布时间】:2011-08-30 03:31:20
【问题描述】:

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

谁能帮忙?

【问题讨论】:

  • 和/或过滤器是可能的,但我可以嵌套它们吗? ...我想过滤,假设所有名称 ='rado' 和 date=NULL(或未设置)或 date >'current date'。日期不能设置或大于现在。
  • 您还没有指定您在这里谈论的编程语言/环境/操作系统/等!尝试添加一些更合适的标签。
  • 弹性搜索elasticsearch.org

标签: indexing elasticsearch


【解决方案1】:

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

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

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

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

分组在最后。

...哦,如果您要使用大于 RangeQuery 可以通过 将上限或下限设置为空。

J.

【讨论】:

    【解决方案2】:

    这可能有点晚了,但如果其他人正在寻找这个,我发现搜索词 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 的所有结果

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-06-11
      • 2012-07-15
      • 2021-09-01
      • 2015-09-24
      • 2020-06-14
      • 2020-10-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多