在elasticsearch中搜索多种类型的多个id

you*_*bal 4 elasticsearch sense

我想获取具有特定类型 ID 的文档。例如,现在我已经在 Sense 中编写了这个查询。此查询返回给我的所有文档类型为产品的这些 ID。

  POST /_search
    {
        "query": {
           "ids" :{
              "type" : "product",
              "values" : ["100005","10002010093"]
         }
      }
    }
Run Code Online (Sandbox Code Playgroud)

但我想要的是这样的

 POST /_search
        {
            "query": [
             {
               "ids" :{
                  "type" : "product",
                  "values" : ["100005","10002010093"]
             }
             },
             {
               "ids" :{
                  "type" : "store",
                  "values" : ["100003","1000201"]
             }
             }
         ]
        }
Run Code Online (Sandbox Code Playgroud)

或者

 POST /_search
        {
            "query":{
                "ids" :[
                  {
                     "type" : "product",
                     "values" : ["100005","10002010093"]
                  },
                  {
                     "type" : "store",
                     "values" : ["100003","1000201"]
                  }
               ]
            }
        }
Run Code Online (Sandbox Code Playgroud)

有没有办法完成它?

Val*_*Val 7

您只需要使用bool/filter查询

POST /_search
{
  "query": {
    "bool": {
      "should": [
        {
          "ids": {
            "type": "product",
            "values": [
              "100005",
              "10002010093"
            ]
          }
        },
        {
          "ids": {
            "type": "store",
            "values": [
              "100003",
              "1000201"
            ]
          }
        }
      ]
    }
  }
}
Run Code Online (Sandbox Code Playgroud)