Solr:通过字符串字段提升
Solr: Boost by string field
如何通过字符串字段提升查询?
我只找到解释 date boosting.
的资源
例如这些文档应按以下顺序提升:
- 优先级=a
- 优先级=b
- 优先级=c
我知道,我可以按优先级排序,但我想将此字段与 solr 相关机制结合起来。
解决方案是使用 rord() 的升压函数
bf=rord(priority)^10
rord 将字符串映射为整数,然后可以将其用于提升。
如果您想对每个值应用自定义权重;即说 b
比 a
重要两倍,或者你的优先级不一定排序(即 c
应该比 b
提升更多,但不能更多比 a
),你可以为每个权重添加一个提升查询:
bq=priority:a^10 priority:b^2 priority:c^5
如何通过字符串字段提升查询? 我只找到解释 date boosting.
的资源例如这些文档应按以下顺序提升:
- 优先级=a
- 优先级=b
- 优先级=c
我知道,我可以按优先级排序,但我想将此字段与 solr 相关机制结合起来。
解决方案是使用 rord() 的升压函数
bf=rord(priority)^10
rord 将字符串映射为整数,然后可以将其用于提升。
如果您想对每个值应用自定义权重;即说 b
比 a
重要两倍,或者你的优先级不一定排序(即 c
应该比 b
提升更多,但不能更多比 a
),你可以为每个权重添加一个提升查询:
bq=priority:a^10 priority:b^2 priority:c^5