在我的应用程序中,我有一个查询,将返回的点击数限制为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))));
我对查询的点击总数感兴趣(即不限于大小),这样我就可以在前端处理分页。有人知道我该怎么做吗?
答案 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()));