2
Привет Я пытаюсь получить запрос для фильтрации на основе значений в массиве объектов, структура как этотelasticsearch запрос вложенный массив объектов
{
"_index": "test",
"_type": "home",
"_id": "1247816",
"_score": 1,
"_source": {
"TranCust": {
"CustId": 1247816,
"sourceNodeName": "SRC"
},
"TranList": [
{
"TranId": 2431015,
"batchNr": "211"
},
{
"TranId": 2431016,
"batchNr": "213"
}
]
}
}
в качестве примера, я хотел бы найти все документы с TranId из 2431015, мой запрос выглядит следующим образом
{
"query": {
"bool": {
"must": [
{
"nested": {
"path": "TranList",
"query": {
"bool": {
"must": [
{
"match": {
"TranId": "2431015"
}
}
]
}
}
}
}
]
}
}
}
, кажется, не возвращать никаких результатов, есть лучший способ, чтобы попытаться написать этот запрос?
EDIT, здесь отображения ставят в
{
"mappings": {
"home": {
"properties": {
"TranCust": {
"type": "object"
}
},
"TranList": {
"type": "nested"
}
}
}
}
}
Вы уверены, что ваши объекты хранит как 'inested type', а не' object'? –
Я добавил сопоставления, которые я поставил на вопрос – user2168435