java - Solr:如何动态提升有限数量的文档? QueryElevationComponent 是否需要修改?

标签 java solr lucene elevation

我的要求是提升一个 数量有限用户请求的(例如五个)文档。

我只有一个 文档字段 它存储一个类似于表示 的提升值的数值。电梯排名值 .

因此,用户查询将返回 5 个具有最高电梯排名值的文档,其余文档按常规顺序填充页面。

怎么做?
QueryElevationComponent只允许 静态 查询定义。提升不允许提升 数量有限特殊电梯排名字段的文档。

我是否必须编写修改后的 QueryElevationComponent?如果有,好用吗示例 怎么做?

还是另一种方法 存在,我没 catch ?

感谢您的任何提示或想法!

最佳答案

我会采用以下两种方法之一:

  • 要么使用 function query提升电梯排名领域。
  • 或使用 index time boosting提升需要编辑提升的文档。

  • 这两种方法都会产生不可预测的结果(因为 Solr 中的相关性模型非常复杂)。但是,使用函数查询,您可以进行更多微调。

    关于java - Solr:如何动态提升有限数量的文档? QueryElevationComponent 是否需要修改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8001361/

    相关文章:

    选择 Start-LocalDateTime 后,JavaFX 自动设置 End-LocalDateTime

    java - 输入多个数据集(输入)然后打印

    solr - 修改 schema.xml 后重新加载 Solr 核心时出错。无法达到复制因子 1(仅找到 0 个副本)

    elasticsearch - 如何将简单的Groovy脚本转换为Lucene表达(或使用其他方法)?

    java - 当 cookie 包含变音字符时 Tomcat 7 异常

    java - 将图像上传到服务器并将带有文本值的路径存储到 MySQL 中

    solr - 如何使用 DataImportHandler 生成 Id?

    solr - 我如何使用 lucene 查询找到空的 Solr 文档字段

    java - lucene中的searchAfter

    c# - java lucene中lucene.net索引目录的使用