AggregationContainer在ElasticSearch NEST中的使用

本文关键字:NEST ElasticSearch AggregationContainer | 更新日期: 2023-09-27 18:15:37

我还没有找到关于这部分的文档。是否有一个正确的方法来建立一个AggregationContainer类似于我们如何建立一个QueryContainer?一个非常粗略的例子:

.Aggregations(a =>
    {
          AggregationContainer aggr = null;
          if (variableA) //if value of variableA is true
              aggr &= //concatenate aggregation statement here, e.g fieldA == variableA
          return aggr;
     }
)

或者是否有其他方法可以合并if else语句,在聚合中包含范围?

这将是可爱的包括更多的可能的例子AggregationContainer如何使用。

AggregationContainer在ElasticSearch NEST中的使用

您需要使用AggregationDescriptor来附加

var qryRes11 = client.Search<object>(x => x
.Aggregations(a =>
{
    AggregationDescriptor<object> v = new AggregationDescriptor<object>();
    v.Terms("a", tr =>
    {
        TermsAggregationDescriptor<object> trmAggDescriptor = new TermsAggregationDescriptor<object>();
        trmAggDescriptor.Field("a");
        trmAggDescriptor.Size(0);
        return trmAggDescriptor;
    });
    return v;
}));
var terms1 = qryRes1.Aggs.Terms("a");