首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何查找弹性嵌套查询的总命中率?

如何查找弹性嵌套查询的总命中率?
EN

Stack Overflow用户
提问于 2019-03-31 21:39:07
回答 2查看 877关注 0票数 0

在我的应用程序中,有一个查询将返回的命中数限制为50,如下所示

代码语言:javascript
复制
            var response = await client.SearchAsync<Episode>(s => s
                .Source(sf => sf
                     .Includes(i => i
                         .Fields(
                             f => f.Title,
                             f => f.PublishDate,
                             f => f.PodcastTitle
                         )
                     )
                     .Excludes(e => e
                         .Fields(f => f.Description)
                     )
                 )
                .From(request.Skip)
                .Size(50)
                .Query(q => q 
                    .Term(t => t.Title, request.Search) || q
                    .Match(mq => mq.Field(f => f.Description).Query(request.Search))));

我感兴趣的是查询的总命中数(即不限于大小),这样我就可以在前端处理分页。有人知道我怎么做吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-04-01 02:14:07

您正在搜索响应对象上查找Total属性。Have a look

因此,在您的特定情况下,它将是response.Total

票数 6
EN

Stack Overflow用户

发布于 2020-05-15 07:29:25

对于那些使用超过10000个文档的索引的人,Elasticsearch将默认计算总命中率高达10000。要解决此问题,请在查询中包含.TrackTotalHits(true)

代码语言:javascript
复制
var resp = client.Search<yourmodel>(s => s
    .Index(yourindexname)
    .TrackTotalHits(true)
    .Query(q => q.MatchAll()));
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55441492

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档