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:如何确定索引中的文档总数?的主要内容,如果未能解决你的问题,请参考以下文章