Поиск во вложенных документах поля независимо от расположения поля

Рассмотрим документ в Elasticsearch следующим образом:

{
  "id": 1,
  "Comment": "Comment text",
  "Reply": [{
    "id": 2,
    "Comment": "Nested comment text",
  }, {
    "id": 3,
    "Comment": "Another nested comment text",
  }]
}

Я хочу искать id == 2 не зная, находится ли он на первом уровне документа или на втором. Это возможно? Также имейте в виду, что вложенный уровень может быть любым (неизвестным во время разработки).

Если это возможно, то каков запрос на возврат этого документа путем поиска id == 2 не зная, что есть id находится на втором уровне документа?

1 ответ

Решение

Попробуй это:

{
  "query": {
    "query_string": {
      "fields": ["*.id","id"],
      "query": "2"
    }
  }
}
Другие вопросы по тегам