Вам нужно использовать вложенный тип данных для вашего data
поля, а затем вы можете использовать пример, приведенный в том же самом do c, чтобы запросить вложенные поля.
Короче говоря, вам необходимо включить nested path
в свой запрос, если он правильно проиндексирован.
"nested": {
"path": "data",
Добавление непрерывного рабочего примера в соответствии с вашим образцом
Отображение индекса
{
"mappings": {
"properties": {
"name" : {
"type" : "text"
},
"data": {
"type": "nested"
}
}
}
}
Запрос индекса
{
"name": "somename",
"data": {
"age": 25
}
}
поисковый запрос
{
"query": {
"nested": {
"path": "data",
"query": {
"match": {
"data.age": 25
}
}
}
}
}
И результат поиска
"hits": [
{
"_index": "nested",
"_type": "_doc",
"_id": "1",
"_score": 1.0,
"_source": {
"name": "somename",
"data": {
"age": 25
}
}
}
]