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

euoag5mw  于 2022-09-27  发布在  Solr
关注(0)|答案(5)|浏览(171)

如何使用Solrj确定Solr索引中的文档总数?
在我自己搜索了几个小时后,我终于找到了答案(如下所示);我发布这个问题只是为了让其他人更容易找到答案。

7uzetpgm

7uzetpgm1#

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

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

5n0oy7gb2#

发送查询*:*的答案可能是最好、最通用的解决方案。尤其是在使用SolrCloud时。然而,还有一种替代解决方案,Solr Core Admin API

lf3rwulv

lf3rwulv3#

粘贴整个curl

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

exdqitrt4#

下面是我使用JSON/PHP获取总文档的方法希望这有帮助

// Get total number of documents in solr
$solrObj = file_get_contents("http://HOSTNAME:8983/solr/COLLECTION 
NAME/select?q=*:*&rows=0&wt=json");
// var_dump(json_decode($solrObj));
$res_obj = json_decode($solrObj);
$numDocs = $res_obj->response->numFound; 
echo "Total number docs found!: ".$numDocs."<br />";
jmp7cifd

jmp7cifd5#

根据您的使用方式,请注意可用的格式选项。对于我来说,XML是理想的。

http://localhost:8983/solr/drupal/select?q=*%3A*&rows=0&wt=xml

相关问题