使用 NEST for .NET 的 Elasticsearch 5.4 分页
Elasticsearch 5.4 Pagination with NEST for .NET
我知道,我太笨了,看不懂,但我是 elasticsearch 的新手。
我想知道如何做一个简单的分页。
Like: 1 To 10 Of 123,456 entries
我需要知道查询的总点击数,明白吗?
public long GetCount(SearchModel model)
{
return _elasticClient.Search<Document>(s => s
.Query(q => GetWhere(q, model))
).Total;
}
我没有使用 From/Size,因为我想获取查询的总记录(就这么简单)。
我试过 ISearchResponse.Total 并且忽略了查询过滤器
一些建议将不胜感激,谢谢
当您进行简单的文档搜索时,您可能应该只使用 From
和 Size
进行分页。返回的结果应该有一个 hits.total 表示,它是与您的查询匹配的文档总数。
虽然 hits 集合将只有 10 个文档或您在 (size) 中定义的任何内容。
From/Size 示例:
var response = client.Search<Tweet>(s => s
.From(0)
.Size(10)
.Query(q =>
q.Term(t => t.User, "kimchy")
|| q.Match(mq => mq.Field(f => f.User).Query("nest"))
)
);
response.HitsMetaData.Total
应该有找到的文档总数。
我知道,我太笨了,看不懂,但我是 elasticsearch 的新手。
我想知道如何做一个简单的分页。
Like: 1 To 10 Of 123,456 entries
我需要知道查询的总点击数,明白吗?
public long GetCount(SearchModel model)
{
return _elasticClient.Search<Document>(s => s
.Query(q => GetWhere(q, model))
).Total;
}
我没有使用 From/Size,因为我想获取查询的总记录(就这么简单)。
我试过 ISearchResponse.Total 并且忽略了查询过滤器
一些建议将不胜感激,谢谢
当您进行简单的文档搜索时,您可能应该只使用 From
和 Size
进行分页。返回的结果应该有一个 hits.total 表示,它是与您的查询匹配的文档总数。
虽然 hits 集合将只有 10 个文档或您在 (size) 中定义的任何内容。
From/Size 示例:
var response = client.Search<Tweet>(s => s
.From(0)
.Size(10)
.Query(q =>
q.Term(t => t.User, "kimchy")
|| q.Match(mq => mq.Field(f => f.User).Query("nest"))
)
);
response.HitsMetaData.Total
应该有找到的文档总数。