如何获取与给定查询匹配的文档总数。我使用了以下查询:
result = solr.search('ad_id : 20')
print(len(result))
由于默认返回值为“10”,因此输出仅为10,但计数为4000.如何获得总计数?
答案 0 :(得分:2)
results object from pysolr has a hits
property that contains the total number of hits,无论返回多少文档。这在Solr的原始响应中命名为numFound
。
您的解决方案并不适合具有更大数据集的任何内容,因为它要求您检索所有文档,即使您不需要它们或想要显示他们的内容。
答案 1 :(得分:1)
计数存储在numFound变量中。请使用以下代码:
result = solr.search('ad_id : 20')
print(result.raw_response['response']['numFound'])
答案 2 :(得分:1)
@MatsLindh提到-
result = solr.search('ad_id : 20')
print(result.hits)
答案 3 :(得分:0)
终于得到了答案:
在查询结尾处添加了rows=1000000
。
result = solr.search('ad_id : 20', rows=1000000)
但是如果行大于此值,则应在查询中更改该数字。这可能是一个糟糕的解决方案,但有效。 如果有人有更好的解决方案,请回复。