У меня есть следующие документы в Elasticsearch.
{
"id": "1234",
"color": "red"
}
{
"id": "1234",
"color": "burgundy"
}
{ "id": "4321",
"color": "red"
}
{ "id": "1111",
"color": "red"
}
{ "id": "2222",
"color": "red"
}
{ "id": "3333",
"color": "red"
}
{ "id": "4444",
"color": "red"
}
{ "id": "5555",
"color": "red"
}
{ "id": "6666",
"color": "red"
}
Я хочу получить только те документы, которые соответствуют следующим условиям.
- Идентификатор документа со значением либо 1234, либо 4321
- и Документы с красным цветом.
Я пытаюсь подготовить запрос DSL, который вернет только 2 документа (первый и третий) , Я попробовал следующее, но он возвращает все документы, которые имеют красный цвет, и игнорирует первое условие.
{"query":
{"bool":
{"should": [
{"term": {"id": "1234"}},
{"term": {"id": "4321"}}
],
"filter": [
{"term": {"color": "red"}}
]
}
}
}
Может кто-нибудь помочь с этим? Заранее спасибо.