Elasticsearch 5.4使用NEST for .NET进行分页

时间:2017-06-16 12:23:05

标签: c# .net elasticsearch elasticsearch-5 elasticsearch-net

我知道,我是如此愚蠢,以至于我看不出怎样,但我对弹性搜索感到陌生。

我想知道如何进行简单的分页。

  

赞:1到10个 123,456 条目

我需要知道查询的总命中数,感觉对吗?

    public long GetCount(SearchModel model)
    {
        return _elasticClient.Search<Document>(s => s
            .Query(q => GetWhere(q, model))
        ).Total;

    }

我没有使用From / Size,因为我想获取查询的总记录(这很简单)。

我尝试了ISearchResponse.Total并忽略了查询过滤器

一些建议将非常感谢,谢谢

1 个答案:

答案 0 :(得分:3)

当您进行简单的文档搜索时,您应该只使用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应该有找到的文档总数。