Возвращение поля из вложенного объекта само по себе - PullRequest
0 голосов
/ 24 мая 2019

Я работаю над ошибкой с унаследованным кодом и хотел бы обновить запрос по сравнению с кодом. Я отправляю запрос экземпляру 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"
  }
]
...