У меня есть эти 3 документа, где fields
имеет тип nested
:
{
"fields": [
{"field_id": 23, "value": "John Doe"},
{"field_id": 92, "value": null}
]
}
{
"fields": [
{"field_id": 23, "value": "Ada Lovelace"},
]
}
{
"fields": [
{"field_id": 23, "value": "Jack Daniels"},
{"field_id": 92, "value": "jack@example.com"}
]
}
Мне нужно найти документы, где:
(`field_id` = `92` AND `value` is `null`) OR (`field_id` `92` is missing.)
Объединение терминов иОтсутствующий запрос приводит к тому, что возвращается только документ со значением null
:
...
"nested": {
"path": "fields",
"filter": {
"bool": {
"bool": {
"must": [
{
"missing": {
"field": "fields.value"
}
},
{
"terms": {
"fields.field_id": [92]
}
}
]
}
}
}
}
...
Как я могу это сделать?