Solr:排除某些文件被排序

时间:2013-07-16 22:00:58

标签: sorting solr

我有一个Solr查询,我试图根据某个字段对结果进行排序。

我想以这样的方式对其进行修改,即只对特定的文档集进行排序,并将其余文档简单地附加到排序列表的末尾。

有没有办法实现这个目标?

请帮忙。

问候。

2 个答案:

答案 0 :(得分:1)

如果要按动态的特定字段条件排序,可以在匹配条件更高的情况下提升字段并按分数排序。
例如bq=some_field:some_value^10
这将提高仅符合标准的文档分数 此外,对于所有其他文件,分数将保持不变,并按原样遵循吹嘘的文件。

编辑: -
你可以提升多个领域,例如bq=string_array_field:some_value^10&bq=ranking^10会提升与价值相匹配的文件,并将排名更高的排名提升到最高位置 其余文件将随之而来。

答案 1 :(得分:0)

对于schema.xml中的每个<fieldType>定义,您可以设置一个sortMissingLast="true"选项,该选项将为您提供所需的排序行为。对于您的具体示例,我建议您使用sortMissingLast="true"设置创建一个新字段,然后根据您给定的条件填充此附加字段,而不是为您希望在排序时显示的那些文档设置值。