当前查询示例(搜索'test'):
q=lastName:test*^10 firstName:test*^9 userLastNameLowerBoost:test*^8
userFirstNameLowerBoost:test*^7 member:test*^6 title:test*^5
message:test*&start=0&rows=5
现在我的solr索引有几种类型的结果(人物,消息等),我的结果只包含boost命令的前5个结果。但是我还需要计算所有类型的结果(例如,人数= 40,消息数= 54,......)。如果我不通过'start'和'rows'限制查询,我可以在java中计算,但这不应该是分页感(加载整个结果)。所以我可以添加子查询如何计算类型(fieldname'documentType' - >可以是1 = person,2 = messages,..)。
我希望你能找到我想要的东西:)
答案 0 :(得分:1)
您应该只需添加&facet=true&facet.field=documentType&facet.mincount=1
即可获得整个索引中的documentTypes计数。
答案 1 :(得分:0)
您可以使用字段分组作为描述here。或者,facet search,它取决于您的查询类型
答案 2 :(得分:0)
您可以为每个文档添加一个字段,并按类型填充该字段。人,消息。
然后,您可以在此字段上进行分面,这将为您提供结果集中每种类型的计数。