【发布时间】:2017-01-15 08:12:05
【问题描述】:
我正在寻找如何使用对象初始化器语法来初始化具有多个无嵌套聚合的 SearchRequest 对象。
如果请求通过 lambda 表达式帮助器作为参数提供给 ElasticClient.Search(),它将如下所示:
var response = Client.Search<person>(s => s.Aggregations(a =>
a.Terms("bucketAge", t => t.Field("age").Size(50))
.Terms("bucketCity", t => t.Field("city").Size(50))));
自相矛盾的是我发现我如何用嵌套的 Agg 编写 Agg
var searchRequest = new SearchRequest<person>
{
Size = 0,
Aggregations =
new TermsAggregation("bucketAge")
{
Field = "age",
Size = 50,
Aggregations = new TermsAggregation("bucketcity")
{
Field = "city",
Size = 50
}
}
};
但我无法用 2 个 aggs 与类似的东西在同一级别上初始化 SearchRequest:
var searchRequest = new SearchRequest<person>
{
Size = 0,
Aggregations =
{
new TermsAggregation("bucketAge")
{
Field = "age",
Size = 50
},
new TermsAggregation("bucketcity")
{
Field = "city",
Size = 50
}
}
};
请问这个怎么做?
【问题讨论】:
标签: elasticsearch nest