ElasticSearch Query DSL 组合了术语和通配符



我必须区分单独运行良好的查询:

{"wildcard":{"city":"*Beach*"}} {"terms":{"state":["Florida","Georgia"]}}

但是,尝试将它们合并到一个查询中被证明是相当大的挑战。

我原以为只是简单地做{{"wildcard":{"city":"*Beach*"}},{"terms":{"state":["Florida","Georgia"]}}}就可以做到,但事实并非如此。因此,我尝试了使用数组和布尔查询等进行几次不同的迭代。有人可以指出我正确的方向吗?

布尔查询应该是正确的方法。

以下是您的使用案例的示例:

{
  "query": {
    "bool": {
      "must": [
        {
          "wildcard": { "city": "*Beach*" }
        },
        {
          "terms": {
            "state": [ "Florida", "Georgia" ]
          }
        }
      ]
    }
  }
}

如果没有结果,则表示没有与两个条件匹配的条目。

最新更新