Ниже запрос - это то, что вы ищете.Вам просто нужно иметь два nested queries
, по одному для каждого упомянутого вами условия, объединенного в bool
с использованием предложения must
.
Обратите внимание, что я предполагаю, что поля user.first
иuser.last
имеют текст type
, имеющий standard analyzer
POST <your_index_name>
{
"query":{
"bool":{
"must":[
{
"nested":{
"path":"user",
"query":{
"bool":{
"must":[
{
"match":{
"user.first":"john"
}
},
{
"match":{
"user.last":"smith"
}
}
]
}
}
}
},
{
"nested":{
"path":"user",
"query":{
"bool":{
"must":[
{
"match":{
"user.first":"alice"
}
},
{
"match":{
"user.last":"white"
}
}
]
}
}
}
}
]
}
}
}
Надеюсь, это поможет!