Добрый день:
Можно ли отфильтровать несвязанные вложенные объекты? Вариант использования: у вас есть один родитель, но у него есть несколько детей. Скажем, например, для конкретного родителя ... есть 100 детей; Мне нужен способ отфильтровать конкретных детей, чтобы из 100 я получил подмножество этого результата.
ОБНОВЛЕНО
Запустил следующий запрос
GET /dev/doc/_search?typed_keys=true
{"_source":{"includes":["reviews"]},"query":{"nested":{"query":{"bool":{"filter":[{"term":{"reviews.userId":{"value":"339c8add-4278-4acd-905e-64b9acabc71a"}}}]}},"path":"reviews"}}}
Однако я получаю следующие результаты:
"reviews": [
{
"score": 0,
"friendlinessOfStaff": 1,
"amenities": 2,
"grounds": 2,
"reviewDate": "2018-07-03T02:00:34.8735726-07:00",
"qualityOfCare": 4,
"activities": 2,
"facilityReviewReplies": [],
"id": "56a4bac2-85d0-4ccf-aba2-fd9ff74fb3a5",
"message": "blah blah blah",
"userId": "339c8add-4278-4acd-905e-64b9acabc71a",
"cleanliness": 4
},
{
"score": 0,
"friendlinessOfStaff": 1,
"amenities": 2,
"grounds": 2,
"reviewDate": "2018-07-04T12:01:22.228658-07:00",
"qualityOfCare": 4,
"activities": 2,
"facilityReviewReplies": [],
"id": "f2f1b84e-bc1d-4e9c-b6d5-bdc578cb1b5f",
"message": "blah blah blah",
"userId": "7f1d389d-1316-4058-9857-ca51ecd9f5f8",
"cleanliness": 4
}
]
Как вы можете видеть, последний объект из этого списка имеет "userId": "7f1d389d-1316-4058-9857-ca51ecd9f5f8", который, однако, не совпадает, однако фильтр по-прежнему возвращает значения. Есть идеи, почему это так?