Ниже приведена структура документа, который я проиндексировал вasticsearch 6.7
{
"instance": {
"id": 1,
...
"relatedInstances": [
{
"id": 101,
...
"instFields": [
{
"sourceFieldId": 202,
"fieldValue": "some value"
},
{
"sourceFieldId": 505,
"fieldValue": "some value"
},
...
]
},
...
]
}
}
- Документ может иметь разные
instance.relatedInstances.instFields.sourceFieldId
s, и если документ не имеет определенного instance.relatedInstances.instFields.sourceFieldId
, то он не включается в документ.
Я пытаюсь выполнить агрегацию (подсчет) на instance.relatedInstances.instFields.sourceFieldId
для всех экземпляров, которые имеют
instance.relatedInstances.instFields.sourceFieldId
значение 202
.
Мне также нужно включить количество экземпляров, которые не имеют instance.relatedInstances.instFields.sourceFieldId
со значением 202
Я пытался с помощью следующего запроса,
"aggs": {
"missing-count": {
"missing": {
"field": "instance.relatedInstances.instFields.sourceFieldId",
"value": "202"
}
}
}
и получил ошибку [missing] unknown field [value], parser not found
.
Согласно документации отсутствует поле , которое можно указать, но оно не показывает, как найти документы, у которых нет поля с определенным значением.
Ценю любую помощь для решения этой проблемы.