0

我想使 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 个域的顶级结果,我应该怎么做?

4

2 回答 2

1

您可能想看看分组(又名字段折叠)。实际上,您可以按域 ( groupfield=domain) 对结果进行分组,并配置您希望为每个组返回多少个结果(group.limit=10例如,默认值 = 1)。

于 2013-01-07T10:11:47.877 回答
0

要解决此分页问题,​​您可以使用参数group.format=simple以传统响应格式为您提供分组结果。

请求 URL 可能看起来像这样,

<ip>:<port>/context-root/select?q=*:*&group=true&group.field=domain&group.format=simple
于 2013-02-22T04:44:19.103 回答