从嵌套对象本身返回字段

时间:2019-05-24 13:24:21

标签: elasticsearch elasticsearch-6 elasticsearch-query

我正在处理带有旧代码的错误,并且想更新查询与代码。我正在将查询发送到Elasticsearch 6的实例。查询未提供有关代码期望位置的正确信息。该查询在“ entity.sourceids”中具有信息,而我的代码是“ sourceids”。有没有一种方法可以重命名实体或从实体中删除“ sourceids”以返回其本身?

我本以为聚合会有所帮助,但会将我需要的数据放在“ aggregations.sourceids”下

{
  "query": {
        "bool": { 
          "must": [
            { 
              "match": {
                "entity.sourceids.sourceid": "123"
              }
            },
            { 
              "match": {
                "entity.sourceids.sourceidtype": "type"
              }
            }
          ]
    }
  },
  "_source": { 
    "include": [
      "entity.sourceids"
    ],
    "exclude": []
  }
}

我想要这个

"entity": {
  "sourceids": [
    {
       "sourceid": "123",
       "sourceidtype": "test1"
    },
    {
      "sourceid": "123",
      "sourceidtype": "test2"
    }
  ]
}

成为

"sourceids": [
  {
    "sourceid": "123",
    "sourceidtype": "test1"
  },
  {
    "sourceid": "123",
    "sourceidtype": "test2"
  }
]

0 个答案:

没有答案