У меня есть индекс, содержащий клиентов.Нравится / клиенты.Существует вложенное сопоставление свойств с указанием даты и общей суммы.
Например:
"properties": [
"invoices": [
"type": "nested",
"properties": [
"from_date": [
type: "date",
"format": "dd.MM.yyyy HH:mm"
],
"revenue": [
type: "double"
],
]
],
]
Я бы хотел выбрать клиентов, упорядоченных по выручке, за определенный промежуток времени.Поэтому подсписок вложенного свойства должен быть суммирован.Это должно быть что-то вроде вложенного фильтра агрегации.Однако я борюсь с сочетанием фильтра и агрегации.Либо я получаю общую сумму за год (чтобы она не группировалась по клиентам), либо она возвращает общий доход (не отфильтрованный за период времени).
Мне было бы достаточно, если бы я мог получить заказанный список клиентов.Мне не нужно точное значение выручки клиента.Итак, вот что я пробовал:
[
"aggs: [
"revenueForTime": [
"nested": [
"path": "invoices.revenue"
"score_mode": "sum",
]
"aggs": [
"filtered": [
"filter": [
"range": [
"invoices.from_date": [
"gt": it.value["from"].format("dd.MM.yyyy HH:mm")
]
]
],
],
"aggs": [
"sum_revenue": [
"reverse_nested": [:],
]
]
]
]
]
]
В настоящее время это дает мне синтаксические ошибки.Где можно разместить все условия запроса для агрегации по каждому документу?Я не нашел полезных статей или вопроса StackOverflow по этому основному вопросу.