首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Solr:从排序中排除某些文档

问Solr:从排序中排除某些文档
EN

Stack Overflow用户
提问于 2013-07-17 06:00:58
回答 2查看 278关注 0票数 0

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

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

有没有办法做到这一点?

请帮帮忙。

致以问候。

EN

回答 2

Stack Overflow用户

发布于 2013-07-17 12:11:41

如果你想按特定的动态字段条件排序,你可以提高匹配条件的字段,并按分数排序。

例如,bq=some_field:some_value^10

这将提高仅符合条件的文档的分数。

此外,对于所有其他文档,分数将保持不变,并按原样遵循吹嘘的文档。

编辑 :-

您可以在多个字段上提升,例如,bq=string_array_field:some_value^10&bq=ranking^10将提升与值匹配的文档,并将具有较高排名的文档提升到顶部。

其余的文档将紧随其后。

票数 1
EN

Stack Overflow用户

发布于 2013-07-17 10:22:37

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17687771

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档