【问题标题】:Solr/Solrj: How can I determine the total number of documents in an index?Solr/Solrj:如何确定索引中的文档总数?
【发布时间】:2011-06-30 08:40:12
【问题描述】:

如何使用 Solrj 确定 Solr 索引中的文档总数?

经过数小时的自行搜索,我实际上得到了答案(如下所示);我只是发布这个问题,以便其他人可以更轻松地找到解决方案。

【问题讨论】:

    标签: lucene solr solrj


    【解决方案1】:

    粘贴整个curl

    curl -s --negotiate -u: 'hostname:8983/solr/my_collection/query?q=*:*&rows=0' | jq '.response | .numFound'
    1868000278
    

    【讨论】:

      【解决方案2】:

      您发送查询*:* 的答案可能是最好、最通用的解决方案。特别是如果您使用 SolrCloud。但是,还有一个替代解决方案,Solr Core Admin API

      【讨论】:

        【解决方案3】:

        这是我正在使用的。这是规范的吗?有没有更好的办法?

            SolrQuery q = new SolrQuery("*:*");
            q.setRows(0);  // don't actually request any data
            return server.query(q).getResults().getNumFound();
        

        【讨论】:

        • 对于快速 REST API 检查,类似:http://hostname:8983/solr/collection_name_here/query?debug=query&q=*:*numFound 包含计数。
        • wget http://hostname:8983/solr/collection_name_here/query?q=*:* 之类的东西也可以解决问题:)`(并将结果存储在一个名为 query?q=*:* 的文件中)
        • 添加 rows 参数不返回数据,所以只返回 "numFound" 中的计数:http://hostname:8983/solr/collection_name_here/query?q=*:*&rows=0
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-02-17
        • 2013-02-08
        • 1970-01-01
        • 1970-01-01
        • 2017-03-05
        • 1970-01-01
        • 2011-05-27
        相关资源
        最近更新 更多