当我根据字段对solr进行分组或构面时,我只会收到搜索结果中的文档数。有没有办法在整个索引中计算包含该值的文档? 例如,对于这些数据,我想搜索“某些东西”,并且每个唯一的gs字段只返回一个项目,其中包含索引中所有字段的计数。所以id 2会出现,按gs 50005分组,但计数为2而不是1.
<doc>
<field name="id">1</field>
<field name="gs">50005</field>
<field name="text">blah</field>
</doc>
<doc>
<field name="id">2</field>
<field name="gs">50005</field>
<field name="text">something else</field>
</doc>
<doc>
<field name="id">3</field>
<field name="gs">123</field>
<field name="text">another something value</field>
</doc>
<doc>
<field name="id">4</field>
<field name="gs">5423</field>
<field name="text">something entirely different</field>
</doc>
答案 0 :(得分:1)
据我所知没有。为什么不根据客户端代码中的构面计数添加它们?
答案 1 :(得分:1)
我有一个解决方法: {!join from = gs to = gs} gs:field(gs)text:something&amp; group = true&amp; group.field = gs
基本上,这种方式的工作方式是通过连接扩展查询以包含具有相同gs的所有项目,然后按gs进行分组。通过分组,我在XML中有一个值,表示组中有多少项。
不是很优雅,但应该做的伎俩。