我对弹性搜索很新,我还没有找到具体的问题。如果已经回答,我会提前道歉,我希望你能指出我正确的方向。
我一直在寻找在NEST中实现以下内容的方法:
"aggs" : {
"fieldA" : {
"terms" : {
"field" : "fieldA"
}
},
"fieldB" : {
"terms" : {
"field" : "fieldB"
}
}
}
我试过这个:
.Aggregations(q => q.Terms("fieldA", r => r.Field(s => s.fieldA)) && q.Terms("fieldB", r => r.Field(s => s.fieldB)))
和此:
.Aggregations(q => q.Terms("fieldA", r => r.Field(s => s.fieldA)))
.Aggregations(q => q.Terms("fieldB", r => r.Field(s => s.fieldB)))
哪两个都失败了。我错过了别的什么吗?
答案 0 :(得分:16)
您可以指定多个聚合,如下所示:
.Aggregations(a => a
.Terms("fieldA", t => t.Field(s => s.FieldA))
.Terms("fieldB", t => t.Field(s => s.FieldB))
)
每个聚合描述符在内部将自身添加到字典中(使用agg名称作为键),然后返回自身,以便您可以不断添加更多。
对于在NEST中缺乏关于aggs的文档表示道歉。我们正在修改文档,我们一定要包含上述用例的示例。