如何找到Elastic NEST查询的总点击数?

时间:2019-03-31 13:39:07

标签: elasticsearch nest

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

            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))));
  

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

2 个答案:

答案 0 :(得分:4)

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

因此,在您的特定情况下为response.Total

答案 1 :(得分:0)

对于正在处理具有10000个以上文档的索引的人员,Elasticsearch将默认计算最多10000个总命中。要解决此问题,请在查询中包含.TrackTotalHits(true)

var resp = client.Search<yourmodel>(s => s
    .Index(yourindexname)
    .TrackTotalHits(true)
    .Query(q => q.MatchAll()));