我想要使solr回报的结果多样化。让我们假设这是我的模式。
<field name="id" type="string" indexed="true" stored="true" required="true"/>
<field name="description" type="text" indexed="true" stored="true" multiValued="false" />
<field name="domain" type="text" indexed="true" stored="true" multiValued="false" />对于域字段,目前有3种类型(google,yahoo,bing)存储在其中。
每当我进行查询时,来自Solr的前几个结果大多来自Yahoo域。如果我想把这3个领域的排名靠前的结果都混在一起,我该怎么做呢?
发布于 2013-01-07 18:11:48
你可能想看看grouping (aka Field collapsing)。实际上,您可以按域(groupfield=domain)对结果进行分组,并配置每个组(例如,default=1、group.limit=10 )要返回的结果数量。
发布于 2013-02-22 12:44:19
要解决这个分页问题,可以使用参数group.format=simple,它以传统的响应格式给出分组的结果。
请求URL可能如下所示,
<ip>:<port>/context-root/select?q=*:*&group=true&group.field=domain&group.format=simplehttps://stackoverflow.com/questions/14190631
复制相似问题