使用 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 并且忽略了查询过滤器

一些建议将不胜感激,谢谢

当您进行简单的文档搜索时,您可能应该只使用 FromSize 进行分页。返回的结果应该有一个 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 应该有找到的文档总数。