Нужна помощь по конкретному запросу ES. У меня есть объекты в индексе Elastic Search. Пример одного из них (Участник):Эластичный поиск. Поиск по значению подсетей
{
"_id": null,
"ObjectID": 6008,
"EventID": null,
"IndexName": "crmws",
"version_id": 66244,
"ObjectData": {
"PARTICIPANTTYPE": "2",
"STATE": "ACTIVE",
"EXTERNALID": "01010111",
"CREATORID": 1006,
"partAttributeList":
[
{
"SYSNAME": "A",
"VALUE": "V1"
},
{
"SYSNAME": "B",
"VALUE": "V2"
},
{
"SYSNAME": "C",
"VALUE": "V2"
}
],
....
Мне нужно найти только объект (ы) с помощью partAttributeList лиц. Например, весь объект участника с SYSNAME = A, VALUE = V1 в том же объекте partAttributeList.
Если я использую усул матчи:
{"match": {"ObjectData.partAttributeList.SYSNAME": "A"}},
{"match": {"ObjectData.partAttributeList.VALUE": "V1"}}
Конечно, я найду больше объектов, чем я на самом деле нужно. Пример резервирования объекта, который может быть найден:
...
{
"SYSNAME": "A",
"VALUE": "X"
},
{
"SYSNAME": "B",
"VALUE": "V1"
}..
Вам нужно 'partAttributeList' быть полем« вложенным ». Я предполагаю с вашего поста, что это не так. –