Мне нужно запросить индекс ElasticSearch через модуль Python, и я довольно незнаком с ElasticSearch.Скажем, мой индекс хранит пары людей и некоторую информацию о каждой паре.Интересно, как создать запрос ElasticSearch, который дал бы мне пару ниже.По сути, я хочу получить значение поля some info
из пары, где person1
названо John White
, а teacher
и person2
названо Sarah Black
и doctor
.Я хочу точное совпадение, а не нечеткое.
"person1": {
"name": "John White",
"job": "teacher"
}
"person2": {
"name": "Sarah Black",
"job": "doctor"
}
"some info": "blah blah"
Я пробовал ниже запрос, но он дает мне пары, где только 1 из пар соответствует информации, которую я запрашиваю, имя / должность другого человека может бытьОчень разные.Как получить точное совпадение, где информация о людях совпадает?
"query": {
"bool" : {
"must": {
"bool" : {
"should": [
{ "match": { "person1.name": "John White" }},
{ "match": { "person1.job": "teacher" }}
],
"should": [
{ "match": { "person2.name": "Sarah Black" }},
{ "match": { "person2.job": "doctor" }}
]
}
}
}
}