elasticsearch 如何找到弹性嵌套查询的总命中率?
在我的应用程序中,我有一个查询,它将返回的命中数限制为50,如下所示elasticsearch 如何找到弹性嵌套查询的总命中率?,elasticsearch,nest,elasticsearch,Nest,在我的应用程序中,我有一个查询,它将返回的命中数限制为50,如下所示 var response = await client.SearchAsync<Episode>(s => s .Source(sf => sf .Includes(i => i .Fields(
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))));
var response=wait client.SearchAsync(s=>s)
.Source(sf=>sf
.包括(i=>i
.菲尔德(
f=>f.标题,
f=>f.PublishDate,
f=>f.PodcastTitle
)
)
.不包括(e=>e
.Fields(f=>f.Description)
)
)
.From(请求.跳过)
.尺寸(50)
.Query(q=>q
.Term(t=>t.Title,request.Search)| q
.Match(mq=>mq.Field(f=>f.Description).Query(request.Search));
我感兴趣的是查询的点击总数(即不限于大小),因此我可以处理前端的分页。有人知道我怎么做吗
您正在搜索响应对象上查找
Total
属性
因此,在您的特定情况下,这将是
响应。Total
对于那些正在处理超过10000个文档的索引的用户,默认情况下,Elasticsearch将计算多达10000次的总点击量。要解决这个问题,请在查询中包括.TrackTotalHits(true)
:
var resp = client.Search<yourmodel>(s => s
.Index(yourindexname)
.TrackTotalHits(true)
.Query(q => q.MatchAll()));
var resp=client.Search(s=>s
.Index(yourindexname)
.TrackTotalHits(真)
.Query(q=>q.MatchAll());