elasticsearch NEST API-实现术语聚合的分页
我正在尝试实现分页,以从术语聚合结果中获取块中的结果。但术语聚合似乎不支持“From(…)”方法 下面是我在NEST中的弹性搜索查询-
elasticsearch NEST API-实现术语聚合的分页,
elasticsearch,nest,
elasticsearch,Nest,我正在尝试实现分页,以从术语聚合结果中获取块中的结果。但术语聚合似乎不支持“From(…)”方法 下面是我在NEST中的弹性搜索查询- ISearchResponse<dynamic> bResponse = ObjElasticClient.Search<dynamic>(s => s .Filter(FQuery)
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())
)
)
)
)
);
ISearchResponse breResponse=ObjElasticClient.Search(s=>s
.Filter(FQuery)
.尺寸(10)
.索引(弹性索引名称)
.来源(假)
.AllTypes()
.聚合(a=>a
.Terms(aggGroupByCDMInvoiceID,t=>t
.字段(“CDM发票ID”)
.尺寸(100)
.Aggregations(innerAgg=>innerAgg
.TopHits(aggregatestdocversion,th=>th
.尺寸(1)
.来源(假)
.Sort(x=>x.OnField(“版本”).Descending())
)
)
)
)
);
我已经为术语聚合设置了大小100,现在实现了分页。但术语聚合不接受“From(…)”方法
有其他的解决办法吗
谢谢,
Sameer也许您可以对术语进行不同的排序,然后通过索引筛选页面 根据文件: 更改顺序:
{
"aggs" : {
"genders" : {
"terms" : {
"field" : "gender",
"order" : { "_term" : "asc" }
}
}
}
}
然后过滤:
{
"aggs" : {
"tags" : {
"terms" : {
"field" : "tags",
"include" : ".*sport.*",
"exclude" : "water_.*"
}
}
}
}
或者,您可以颠倒顺序,然后使用min_doc_count和上一个分页结果中的doc count:
{
"aggs" : {
"tags" : {
"terms" : {
"field" : "tags",
"min_doc_count": 10
}
}
}
}
我认为这是不可能的