我正在尝试实现分页以从术语聚合结果中获取块中的结果。但似乎条款汇总不支持' From(..)'方法
以下是我在NEST的弹性搜索查询 -
ISearchResponse<dynamic> bResponse = ObjElasticClient.Search<dynamic>(s => s
.Filter(FQuery)
.Size(10)
.Index(elastic_indexname)
.Source(false)
.AllTypes()
.Aggregations(a => a
.Terms(aggGroupByCDMInvoiceID, t => t
.Field("CDM_INVOICE_ID")
.Size(100)
.Aggregations(innerAgg => innerAgg
.TopHits(aggLatestDocVersion, th => th
.Size(1)
.Source(false)
.Sort(x => x.OnField("VERSION").Descending())
)
)
)
)
);
我为术语聚合设置了100,现在实现了分页。但条款汇总不接受来自(...)&#39;方法
有没有替代解决方案?
谢谢, Sameer
答案 0 :(得分:0)
也许你可以用不同的方式订购这些条款,然后通过过滤索引来分页?
根据文件:
更改订单:
{
"aggs" : {
"genders" : {
"terms" : {
"field" : "gender",
"order" : { "_term" : "asc" }
}
}
}
}
然后过滤:
{
"aggs" : {
"tags" : {
"terms" : {
"field" : "tags",
"include" : ".*sport.*",
"exclude" : "water_.*"
}
}
}
}
或者你可以颠倒顺序,然后使用min_doc_count和前一个结果的doc计数进行分页:
{
"aggs" : {
"tags" : {
"terms" : {
"field" : "tags",
"min_doc_count": 10
}
}
}
}