solr排序,我想首先指定一个特定的文档

标签 solr

solr排序,我想首先指定一个特定的文档

例如:

结果:5,2,3,1

我要2排在第一位,其他按照规则排序

2,1,3,5

如何做到这一点?

最佳答案

我知道有两种方法可以尝试使用 Solr 来解决这个问题。

第一个是使用QueryElevationComponent 。这使您可以在索引时定义最重要的结果。正如文档中所建议的,这非常适合将赞助结果或热门文档放置在搜索结果的顶部。潜在的缺点是您必须能够在索引时而不是查询时识别这些文档。

另一种方法是使用bq parameter在查询时增强所需的文档。 。要增强文档 435,您可以执行以下操作:

...&bq=id:435^10

不幸的是,这两种方法都无法让您绝对控制结果的顺序。

如果您不介意在执行搜索后处理结果,Riking 提供的解决方案肯定可以完成这项工作。您可以考虑的另一种方法是向 Solr 架构添加一个字段来定义显示顺序或优先级。然后,您可以对该字段进行排序以获得所需的排序顺序。

关于solr排序,我想首先指定一个特定的文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10629279/

上一篇:php - 第777章

下一篇:php - PHP 中的解密

相关文章:

java - 使用 SolrJ 和 Solr4 进行分面

spring - 如何使用 Spring Data Solr 搜索嵌套对象?

java - 如何将自定义参数传递给 SOlR DIH 查询

javascript - 解析 XML 中的标签

java - 什么是 HttpSolrServer 的替代品 solrServer = new HttpSolrServer(builder.build().toString());

hadoop - "Hadoop-Solr Lucidworks Project"检索输入名称路径

c# - SolrNET - 从 Nuget 拉取时无法加载文件或程序集 'HttpWebAdapters'

java - 两个 Solr 查询的比较

Solr:在哪里可以找到 Luke 请求处理程序

java - solrconfig.xml 更改后 SolrJ 中出现异常