Solr/Solrj:如何确定索引中的文档总数?

Posted

技术标签:

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

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

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

【问题讨论】:

【参考方案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

以上是关于Solr/Solrj:如何确定索引中的文档总数?的主要内容,如果未能解决你的问题,请参考以下文章

solr 学习之solrJ

搜索引擎系列十:Solr(solrj 索引API 结构化数据导入)

我与solr--solrJ

Solr3---SolrJ的使用

Solr3---SolrJ的使用

solr6.6初探之solrj