繁体   English   中英

elasticsearch nest 7.1 聚合字段通用速记字段表达式

[英]elasticsearch nest 7.1 aggregation Fields generic shorthand field expression

所以读这个:

https://www.elastic.co/guide/en/elasticsearch/client/net-api/7.x/field-inference.html

给定一个 class

public class MyData {
    public Guid UserId { get; set; }
    public decimal Value { get; set; }
}

我希望能够做类似的事情:

var fieldExpression = Field<MyData >(p => p.Value);

但我得到一个错误The non-generic type Field cannot be used with type arguments

我正在使用 Nest 7.1.0。

我的目标是能够创建一种方法,该方法可以传入聚合和查询,然后组合成在嵌套ElasticClient的实例上运行。

像(我认为)

            var sr = new SearchRequest<MyData>
            {
                Aggregations = new ChildrenAggregation("name_of_child_agg", typeof(decimal?))
                {
                    Aggregations =
                        new AverageAggregation("average_per_child", Field<MyData>(p => p.value))
                        && new MaxAggregation("max_per_child", Field<MyData>(p => p.value))
                        && new MinAggregation("min_per_child", Field<MyData>(p => p.value))
                }
            };

_client.Search<MyData>(sr);

如文档中所述,您需要添加static 导入才能使用相同的样式编写代码

using static Nest.Infer;

否则你需要使用简单new Field(..)实例化

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2023 STACKOOM.COM