如何获得与给定查询匹配的文档总数。我用下面的查询:pysolr中的文档总数
result = solr.search('ad_id : 20')
print(len(result))
由于默认返回值是“10”,输出的是只有10,但数量是4000我怎样才能得到计数的总数是多少?
如何获得与给定查询匹配的文档总数。我用下面的查询:pysolr中的文档总数
result = solr.search('ad_id : 20')
print(len(result))
由于默认返回值是“10”,输出的是只有10,但数量是4000我怎样才能得到计数的总数是多少?
终于得到了答案:
新增rows=1000000
在查询结束。
result = solr.search('ad_id : 20', rows=1000000)
但是,如果行是超过这个数量应该在查询中改变更大。这可能是一个不好的解决方案,但工作。 如果有人有更好的解决方案,请回复。
results object from pysolr has a hits
property that contains the total number of hits,无论返回多少文档。这在Solr的原始响应中被命名为numFound
。
您的解决方案并不适合任何大型数据集,因为它需要您检索所有文档,即使您不需要它们或者不想显示其内容。
计数存储在numFound变量中。请使用以下代码:
result = solr.search('ad_id : 20')
print(result.raw_response['response']['numFound'])
这与结果中的'hits'属性有何不同?没有必要使用原始响应。 – MatsLindh