elasticsearch - 如何为Elasticsearch Nest使用两个并行聚合

标签 elasticsearch nest elasticsearch-net

像下面的http请求:
基于TERM“service_project”聚合,还有两个SUM聚合“service_hour_price”和“servic_part_price”。我可以使用Elasticsearch Nest做同样的事情吗?

      "aggs": {
        "3": {
          "terms": {
            "field": "service_project",
            "size": 50,
            "order": {
              "1": "desc"
            }
          },
          "aggs": {
            "1": {
              "sum": {
                "field": "service_hour_price"
              }
            },
            "2": {
              "sum": {
                "field": "servic_part_price"
              }
            }
          }
        }
    }

现在,我只能在那个术语Aggr上使用一个SUM Aggr,如下所示:
                return s.Aggregations(a => a
                .Terms("names", st => st
                    .Field(o => o.service_project)
                    .OrderDescending("sum")
                    .Size(term_count)
                    .Aggregations(aa => aa
                        .Sum("sum", m => m
                            .Field(o => o.service_hour_price)))));

最佳答案

您几乎在那里:

s.Aggregations(a => a
    .Terms("3", t => t
        .Field("service_project")
        .Size(50)
        .OrderDescending("1")
        .Aggregations(aa => aa
            .Sum("1", sum => sum.Field("service_hour_price"))
            .Sum("2", sum => sum.Field("service_part_price")))
    ));

希望能帮助到你。

关于elasticsearch - 如何为Elasticsearch Nest使用两个并行聚合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33762311/

相关文章:

elasticsearch - 为什么我们在ElasticSearch索引中仍然有 `doc_types`?

c# - Elasticsearch 中的分组

c# - 测试传递给 NEST (elasticsearch) 的参数

JsonReaderException 为elasticsearch创建批量索引

elasticsearch - ElasticSearch映射:是否可以自动截断日期以适合其格式?

lucene - 如何使用ElasticSearch进行 “is contained in”

elasticsearch - 是否可以将自定义分析器设置为不在 elasticsearch 中标记?

elasticsearch - elasticsearch批量脚本与elasticsearch.yml更改都不起作用

c# - Elasticsearch 使用不同排序顺序获取距离

c# - 如何从 .Net 或 NEST 在 Elasticsearch 5 中创建新索引