繁体   English   中英

Elasticsearch 2.x-新的布尔查询

[英]Elasticsearch 2.x - new bool query

升级到Elasticsearch 2.x后,以下查询出现问题:

{   "query": {
    "filtered": {
      "filter": {
        "bool": {
          "should": [
            {
              "bool": {
                "must": [
                  {
                    "terms": {
                      "_type": [
                        "xxx",
                        "yyy"
                      ]
                    }
                  },
                  {
                    "exists": {
                      "field": "aaa"
                    }
                  },
                  {
                    "exists": {
                      "field": "bbb"
                    }
                  },
                  {
                    "exists": {
                      "field": "ccc"
                    }
                  }
                ]
              }
            },
            {
              "bool": {
                "must": [
                  {
                    "term": {
                      "_type": "eee"
                    }
                  },
                  {
                    "term": {
                      "f": 0
                    }
                  }
                ]
              }
            }
          ]
        }
      }
    }   } }

基本上,我不知道如何用Elasticsearch 2.x中的新查询DSL规则替换“应该”过滤器中的“必须”。

提前致谢。

您可以简单地删除已filtered/filter部分并按如下方式修改查询:

{
  "query": {
    "bool": {
      "should": [
        {
          "bool": {
            "must": [
              {
                "terms": {
                  "_type": [
                    "xxx",
                    "yyy"
                  ]
                }
              },
              {
                "exists": {
                  "field": "aaa"
                }
              },
              {
                "exists": {
                  "field": "bbb"
                }
              },
              {
                "exists": {
                  "field": "ccc"
                }
              }
            ]
          }
        },
        {
          "bool": {
            "must": [
              {
                "term": {
                  "_type": "eee"
                }
              },
              {
                "term": {
                  "f": 0
                }
              }
            ]
          }
        }
      ]
    }
  }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM