Solr:通过字符串字段提升

Solr: Boost by string field

如何通过字符串字段提升查询? 我只找到解释 date boosting.

的资源

例如这些文档应按以下顺序提升:

  1. 优先级=a
  2. 优先级=b
  3. 优先级=c

我知道,我可以按优先级排序,但我想将此字段与 solr 相关机制结合起来。

解决方案是使用 rord() 的升压函数

bf=rord(priority)^10

rord 将字符串映射为整数,然后可以将其用于提升。

如果您想对每个值应用自定义权重;即说 ba 重要两倍,或者你的优先级不一定排序(即 c 应该比 b 提升更多,但不能更多比 a),你可以为每个权重添加一个提升查询:

bq=priority:a^10 priority:b^2 priority:c^5