Итак, я пытаюсь выполнить поиск по вложенным объектам в ElasticSearch, и я что-то делаю неправильно, так как не получаю результатов.
Я запускаю следующие команды: -
Создать индекс и сопоставления
PUT /demo
{
"mappings": {
"person": {
"properties": {
"children": {
"type": "nested",
"properties": {
"fullName": {
"type": "string"
},
"gender": {
"type": "string",
"index": "not_analyzed"
}
}
}
}
}
}
}
Добавить документ пользователя
POST /demo/person/1
{
"children": [{
"fullName" : "Bob Smith",
"gender": "M"
}]
}
Все они выполняются, как и ожидалось. Однако, когда я ищу их, как указано в документация Я не получаю никаких результатов.
Запрос
POST /demo/person/_search
{
"query": {
"bool": {
"must": [{
"match_all": {}
},
{
"nested": {
"path": "children",
"query": {
"bool": {
"must": [{
"match": {
"fullName": "Bob Smith"
}
}]
}
}
}
}]
}
}
}
Что я делаю неправильно?