【发布时间】:2017-08-22 18:45:31
【问题描述】:
如何通过字符串字段提升查询? 我只找到了解释 date boosting 的资源。
例如这些文档应按此顺序进行提升:
- 优先级=a
- 优先级=b
- 优先级=c
我知道,我可以按优先级排序,但我想将此字段与 solr 相关性机制结合起来。
【问题讨论】:
标签: solr solr-boost
如何通过字符串字段提升查询? 我只找到了解释 date boosting 的资源。
例如这些文档应按此顺序进行提升:
我知道,我可以按优先级排序,但我想将此字段与 solr 相关性机制结合起来。
【问题讨论】:
标签: solr solr-boost
解决方案是使用 rord() 的 boost 函数
bf=rord(priority)^10
rord 将一个字符串映射为一个整数,然后可以将其用于提升。
【讨论】:
如果您想对每个值应用自定义权重;即说b 比a 重要两倍,或者你的优先级不一定是有序的(即c 应该比b 提升更多,但不能超过a),你可以为每个权重添加一个提升查询:
bq=priority:a^10 priority:b^2 priority:c^5
【讨论】: