0

我有一个具有一组值的 solr 字段。solr 是否可以返回基于该字段而变化的结果。例如:我的字段包含“ValueA”、“ValueB”和“ValueC”。因此,如果行设置为 3,那么与其从“ValueA”返回所有结果,不如从每个字段值中给我一个(考虑到它们具有相同的分数)

4

1 回答 1

0

您可能想要使用Result Grouping / Field CollapsingCollapsingQParserPlugin

CollapsingQParserPlugin 更新(自 Solr 4.6 起),更快,更适合您的问题,我猜,因为它不会影响结果的结构。

只需将其添加到您的 solrconfig.xml 中:

<queryParser name="collapse" class="org.apache.solr.search.CollapsingQParserPlugin"/>

然后,您可以通过将以下参数添加到查询中来折叠结果:

fq={!collapse field=my_field}

或在 Solrj 中:

solrQuery.addFilterQuery("{!collapse field=my_field}");

折叠意味着:对于其中的每个值,my_field只保留结果集中得分最高的文档。

于 2015-11-23T15:05:14.500 回答