Sorting 解决方案:将某些文档排除在排序之外

Sorting 解决方案:将某些文档排除在排序之外,sorting,solr,Sorting,Solr,我有一个Solr查询,我试图根据某个字段对结果进行排序 我想以这样一种方式对其进行修改,即只对一组特定的文档进行排序,而将其余的文档简单地附加到排序列表的末尾 有没有办法做到这一点 请帮忙 注意。对于schema.xml中的每个定义,您可以设置一个sortMissingLast=“true”选项,该选项将为您提供所需的排序行为。对于您的特定示例,我建议您创建一个新字段,设置并使用sortMissingLast=“true”然后根据您给定的条件填充此附加字段,并且不要为您希望在排序时显示在末尾的文

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

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

有没有办法做到这一点

请帮忙


注意。

对于schema.xml中的每个
定义,您可以设置一个
sortMissingLast=“true”
选项,该选项将为您提供所需的排序行为。对于您的特定示例,我建议您创建一个新字段,设置并使用
sortMissingLast=“true”
然后根据您给定的条件填充此附加字段,并且不要为您希望在排序时显示在末尾的文档设置值。

如果您希望按动态的特定字段条件排序,您可以提高匹配条件字段的级别,并按分数排序。
例如,
bq=some\u字段:some\u值^10

这将提高仅符合标准的文档的分数。
此外,对于所有其他文件,分数将保持不变,并将遵循吹嘘的文件

编辑:-
您可以对多个字段进行增强,例如,
bq=string\u array\u字段:某些值^10&bq=ranking^10
会将与该值匹配且排名较高的文档提升到顶部。

其余的文档也会随之出现。

您想要排序的特定文档集是依赖于查询本身,还是您事先知道它们?如果是后者,您可以使用Paige Cook的答案。感谢大家提供您的意见。但是,是否可以根据文档中存在的某些字段在查询本身中处理此问题。也就是说,每个文档都有一个字符串数组值,我只想对数组中有特定值的文档进行排序,并将其余文档追加到结果集的底部。这是否可行?另外,使用的排序字段与此字符串数组字段不同。Jayendra的答案更适合基于字符串数组中的特定值进行排序的用例。是否可以使用boost查询按其他字段进行排序?我想根据名为“排名”的自定义数字字段对结果进行排序。对于字符串数组字段具有一组特定值且排名值较高的文档应首先出现在结果中。感谢您的输入。但排序似乎没有正常工作。我的数组字段定义为:format1format2。某些文档的此字段可能包含format3和format4。秩字段是具有数值的浮点字段。该数值越低,排名越高。结果的排序方式应确保包含format1和format2的文档始终高于format3和format4。我尝试过这样的查询:&bq=format:(format1或format2)^50&bq=ranking ^50,但它不起作用