0

当前查询示例(搜索“测试”):

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,..)。如果我不通过“开始”和“行”限制查询,我可以在 java 中计算,但这不应该是分页的感觉(加载整个结果)。所以我可以添加一个子查询如何计算类型(字段名'documentType'->可以是1 = person,2 = messages,..)。

我希望你明白我想要什么:)

4

3 回答 3

1

您应该能够只添加&facet=true&facet.field=documentType&facet.mincount=1以获取整个索引中的 documentTypes 计数。

于 2012-11-13T15:58:11.423 回答
0

您可以使用此处描述的字段分组。或者,方面搜索,这取决于您的查询类型

于 2012-11-13T08:07:54.073 回答
0

您可以为每个文档添加一个字段,并按类型填充它,例如 PERSON、MESSAGE。
然后,您可以在此字段上进行分面,这将为您提供结果集中每种类型的计数。

于 2012-11-13T09:09:58.603 回答