в Elasticsearch У меня есть пять документов.У них есть имя и цвета:
- имя: автомобиль 1, цвета: синий, зеленый
- имя: автомобиль 2, цвета: красный, желтый
- имя: автомобиль3, цвета: коричневый, золотой
- имя: велосипед 1, цвета: синий, желтый
- название: велосипед 2, цвета: красный, зеленый
хочуна поиск по имени и в пределах области поиска найденных результатов. Я хочу отфильтровать его по цвету:
{
"query": {
"bool": {
"should": [
{
"match": {
"name": {
"query":"Car"
}
}
}
],
"filter": {
"term": {
"colors": "red"
}
}
}
}
}
Но этот запрос возвращает мне Car 2
иBike 2
из-за их цвета.Я понимаю, почему (фильтр решает включить их в зависимости от цвета), но понятия не имею, как написать, что то, что будет включено, основано на совпадении, и в рамках этих сопоставленных результатов я хочу отфильтровать те без правильного цвета.
Спасибо