Elasticsearch |查询对象数组

时间:2017-09-13 23:12:16

标签: arrays object elasticsearch

假设我在ES中有一个对象,例如:

{
  name: "calendar";
  events: [
    {
      birthday: "1992-10-09",
      graduation: "2018-06-15",
      wedding: "2016-12-12"
    }
  ]

}

有没有办法可以通过events数组查询找到传递当前日期的events数组中的元素。

到目前为止,我有:

GET /index/type/_search
{
  "query": {
    "range" : {
      "events" : {
        "gte" : "now"
      }
    }
  }
}

但是不会迭代数组中的每个对象并返回事件的名称。对于这种情况,它应该返回对象分度:" 2018-06-15"。谢谢你的帮助!

1 个答案:

答案 0 :(得分:0)

您可以使用Nested datatypes将嵌套文档存储在父文档中。 要查询嵌套类型,您可以使用Nested Query