【问题标题】:Elasticsearch 5.4 Pagination with NEST for .NETElasticsearch 5.4 使用 NEST for .NET 进行分页
【发布时间】:2017-11-19 05:26:35
【问题描述】:

我知道,我太笨了,看不到怎么做,但我是 elasticsearch 新手。

我想知道如何做一个简单的分页。

喜欢:123,456 个条目中的 1 到 10 个

我需要知道查询的总点击量,有道理吗?

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

    }

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

我尝试了 ISearchResponse.Total,但它忽略了查询过滤器

非常感谢您的一些建议,谢谢

【问题讨论】:

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


    【解决方案1】:

    当您进行简单的文档搜索时,您可能应该只使用FromSize 进行分页。返回的结果应该有一个 hits.total 表示,它是与您的查询匹配的文档总数。 虽然 hits 集合只有 10 个文档或您在 (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 应该包含找到的文档总数。

    【讨论】:

    • 您必须使用带有小写“d”的“HitsMetadata”。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-09-19
    • 2021-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多