我有两个查询要合并

第一个返回的结果的“analysis.data_counts”值大于0。

{
   "query": {
       "range" : {
           "analysis.data_counts" : {
               "gte" : 1,
           }
       }
   }
}

第二个查看是否具有某个字段,并检查另一个字段bool值,如果具有该值则将其提升到查询中的更高位置,以便它们首先出现
  "query": {
    "bool": {
      "must": {
        "exists": {
          "field": "data_types"
        }
      },
      "should": {
        "term": {
          "reviewed": False
        },

      }
    }
  }
})

因此,我需要将它们绑定(bind)在一起,以便获得具有“analysis.data_counts”> = 1的结果,字段类型为“data_types”并使“reviewed” == False出现在True之前

最佳答案

您可以这样做:

{
  "query": {
    "bool": {
      "must": [
        {
          "exists": {
            "field": "data_types"
          }
        },
        {
          "range" : {
            "analysis.data_counts" : {
               "gte" : 1,
            }
          }
        }
      ],
      "should": {
        "term": {
          "reviewed": False
        }
      }
    }
  }
}

10-08 02:25