我有一个包含客户的索引。喜欢/ customers。有一个嵌套的属性映射,其中包含日期和总数。
例如:
"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问题。