elasticsearch ElasticSearch-如何从动态字段元数据查询查询?,elasticsearch,nosql,elasticsearch,Nosql" /> elasticsearch ElasticSearch-如何从动态字段元数据查询查询?,elasticsearch,nosql,elasticsearch,Nosql" />

elasticsearch ElasticSearch-如何从动态字段元数据查询查询?

elasticsearch ElasticSearch-如何从动态字段元数据查询查询?,elasticsearch,nosql,elasticsearch,Nosql,ElasticSearch-如何从动态字段元数据查询查询 元数据字段是动态的,可能有是或没有内部字段 即使在某些查询中未定义“已删除”字段,如何返回查询 谢谢收听 { "query": { "nested": { "path": "metadata", "query": { "bool": { "should":[

ElasticSearch-如何从动态字段元数据查询查询

元数据字段是动态的,可能有是或没有内部字段

即使在某些查询中未定义“已删除”字段,如何返回查询

谢谢收听

{
    "query": {
        "nested": {
            "path": "metadata",
            "query": {
                "bool": {
                    "should":[
                        {
                            "match":{
                                "metadata.deleted": true
                            }
                        }
                    ]
                }
            }
        },
        "bool": {
            "must": {
                "term": {
                    "on_behalf_of": "b71457f731d8a6f"
                }
            }
        }
    }
}


您的查询格式不正确。这里使用了两个查询
nested
bool
。这两个查询必须包装在布尔查询的
必须
应该
过滤器
中。假设这两个条件都是匹配所必需的,则这两个查询都应包装在
bool
查询的
must
filter
子句中,如下所示:

{
  "query": {
    "bool": {
      "must": [
        {
          "nested": {
            "path": "metadata",
            "query": {
              "bool": {
                "should": [
                  {
                    "match": {
                      "metadata.deleted": true
                    }
                  }
                ]
              }
            }
          }
        },
        {
          "must": {
            "term": {
              "on_behalf_of": "b71457f731d8a6f"
            }
          }
        }
      ]
    }
  }
}
{
  "query": {
    "bool": {
      "must": [
        {
          "nested": {
            "path": "metadata",
            "query": {
              "bool": {
                "should": [
                  {
                    "match": {
                      "metadata.deleted": true
                    }
                  }
                ]
              }
            }
          }
        },
        {
          "must": {
            "term": {
              "on_behalf_of": "b71457f731d8a6f"
            }
          }
        }
      ]
    }
  }
}