Я хотел бы отфильтровать как не вложенное поле, так и поле во вложенном объекте / списке. Не вложенное поле - это диапазон дат.
Пример структуры данных ниже
{
"order_id": "83",
"order_date": "01/05/2018 17:53:39",
"trans":
[
{
"item_id" : "1",
"amount": 5000.0,
},
{
"item_id" : "2",
"amount": 5000.0
},
{
"item_id" : "3",
"amount": 5000.0,
}
]
}
Для фильтрации по item_id это работает без проблем:
{
"size": "0",
"query": {
"nested": {
"path": "trans",
"query": {
"bool": {
"must": [
{
"term": {
"trans.item_id": {
"value": "3"
}
}
}
]
}
}
}
}
}
Чтобы отфильтровать по дате заказа, приведенный ниже запрос работает без проблем
{
"query": {
"bool": {
"filter": [
{
"range": {
"order_date": {
"gte": "2020-04-15",
"lte": "2020-04-15"
}
}
}
]
}
}
}
Любые подсказки о том, как я могу объединить 2?