У меня есть индекс с документами, которые выглядят следующим образом:
{
"name": "some name",
"location: { "type": "Point", "coordinates": [3.295, 6.673]}
}
Я могу выполнить запрос геополигона без проблем.Но теперь я хочу найти два геополигона и вернуть только те документы, которые имеют одинаковое значение «name» в обоих.Таким образом, если «имя»: «Джейсон Смит» существует в обоих геополигонах, то эти документы будут возвращены.Но если «Джейсон Смит» существует только в одном, то он не будет возвращен.Я не могу понять, как написать этот запрос, поэтому любая помощь будет принята с благодарностью.
Вот запрос, с которым я работаю сейчас:
{
"query":{
"bool":{
"filter":{
"bool":{
"should":[
{"geo_distance": {"coordinates":[32.4809, 12.0422],"distance": "100 m"}},
{"geo_distance": {"coordinates":[33.4827, 13.0438],"distance": "100 m"}}
]
}
}
}
},
"aggs":{
"found":{
"terms":{
"field": "name"
}
}
}
}
Я пробовал оба«должен» и «должен».Должен возвращать только те документы, которые имеют координаты широта / долгота в обеих областях, а должен возвращать все документы из обеих областей.Мне нужен запрос для возврата документов, которые имеют одинаковое «имя» в обеих областях, а не координаты.