как использовать две параллельные агрегации для гнезда elasticsearch

Как и в приведенном ниже http-запросе: на основе TERM "service_project" aggr есть еще 2 SUM aggr "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"
              }
            }
          }
        }
    }

Теперь я могу использовать только одну базу SUM Aggr для That Term 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)))));

person rmrf100    schedule 17.11.2015    source источник


Ответы (1)


Вы почти там:

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")))
    ));

Надеюсь, поможет.

person Rob    schedule 17.11.2015
comment
Спасибо, Роб, эта помощь. - person rmrf100; 19.11.2015