Я следую приведенному здесь примеру:
https://www.elastic.co/guide/en/elasticsearch/reference/current/nested.html
Следующий запрос:
GET my_index/_search
{
"query": {
"nested": {
"path": "user",
"query": {
"bool": {
"must": [
{ "match": { "user.first": "Alice" }},
{ "match": { "user.last": "White" }}
]
}
}
}
}
}
соответствует одной записи, как и ожидалось.Предположим, что вместо этого я хочу вернуть только документы, в которых пользователь «Джон Смит» и «Алиса Уайт».
Я пытался:
GET my_index/_search
{
"query": {
"nested": {
"path": "user",
"query": {
"bool": {
"must": [
{ "match": { "user.first": "Alice" }},
{ "match": { "user.last": "White" }},
{ "match": { "user.first": "John" }},
{ "match": { "user.last": "Smith" }}
]
}
}
}
}
}
, но это возвращает ноль результатов.Как я могу получить документы как с «Алисой Уайт», так и с «Джоном Смитом» (это должен быть один и тот же документ, возвращенный в исходном результате)?