Полный отказ от ответственности: тут эластичный поиск noob.
Я использую вложенное поле value_per_id
для массива объектов.Каждый объект имеет свойства: value
и id
.Например,
"value_per_id": [
{
"id": 2,
"value": "positive"
},
{
"id": 23,
"value": "positive"
},
{
"id": 65,
"value": "neutral"
}
]
У меня есть запрос, который выглядит так (отредактировано для ясности):
{
"query" : {
"bool" : {
"filter" : [
{
"bool" : {
"must" : {
"nested" : {
"path" : "value_per_id",
"query" : [
{"terms" : {"value_per_id.value" : <MY_VALUES>}},
{"terms" : {"value_per_id.id" : <MY_IDS>}},
]
}
}
}
}
]
}
}
}
С помощью этого запроса я получаю все элементы, которые имеют объект со значением в MY_VALUESИЛИ идентификатор в MY_IDS.
Я хочу, чтобы все элементы, которые имеют значение в MY_VALUES для любого идентификатора в MY_IDS.
(Например, если MY_VAULES = ['positive', 'neutral']
и MY_IDS = [1, 2]
, я хочу те, которые имеютобъект с 1 - положительным, 1 - отрицательным, 2 - положительным или 2 - отрицательным).
Какой синтаксис для этого?
РЕДАКТИРОВАТЬ - Неверный формат