elasticsearch NEST API-实现术语聚合的分页,elasticsearch,nest,elasticsearch,Nest" /> elasticsearch NEST API-实现术语聚合的分页,elasticsearch,nest,elasticsearch,Nest" />

elasticsearch NEST API-实现术语聚合的分页

elasticsearch NEST API-实现术语聚合的分页,elasticsearch,nest,elasticsearch,Nest,我正在尝试实现分页,以从术语聚合结果中获取块中的结果。但术语聚合似乎不支持“From(…)”方法 下面是我在NEST中的弹性搜索查询- ISearchResponse<dynamic> bResponse = ObjElasticClient.Search<dynamic>(s => s .Filter(FQuery)

我正在尝试实现分页,以从术语聚合结果中获取块中的结果。但术语聚合似乎不支持“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())
                                                          )
                                                         )
                                                        )
                                                       )
                                                      );
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
            }
        }
    }
}
我认为这是不可能的