solr - SOLR boost查询顺序错误
问题描述
我想从 SOLR 检索一些文档并将提升传递给该字段,以便它们按照我请求它们的顺序返回(分别是 Web 请求请求它们)。因此,我为所需的 id 添加了提升:
q=myfield:"9125129"^10 OR
myfield:"9125417"^9 OR
myfield:"9124611"^8 OR
myfield:"9126980"^7 ...
fl=myfield
wt=csv
不幸的是,这不会以所需的顺序返回文档:
myfield
9125129
9125417
9126980
9124611
如果我将查询更改为
q=myfield:"9125129"^9 OR
myfield:"9125417"^8 OR
myfield:"9124611"^7 OR
myfield:"9126980"^6 ...
fl=myfield
wt=csv
(仅用于测试),返回正确的顺序:
myfield
9125129
9125417
9124611
9126980
所以看起来 SOLR 不喜欢两位数的提升值?但根据规范,这应该不是问题。那么这里的实际问题是什么,我如何请求超过 10 个文档的提升字段?
使用的 SOLR 版本:4.10.4
解决方案
我找到了一份文档说明:“如果需要绝对排序,可以使用非常高的提升。” 事实上,如果我分配了非常分散的提升值(例如 1000、900、80、7),那么排序顺序是正确的。但我想这是开放的讨论,这是否是一个好的做法,应该这样做。似乎有点像猜测和使用 SOLR 来做它不是为它设计的东西。
推荐阅读
- javascript - Jquery - 根据返回的 ajax 值从选择选项中选择突出显示
- node.js - nodejs mongoose,回调,比较旧数据并将新数据存储到变量
- meteor - 我可以在 Blaze 模板实例中使用 querySelector 方法吗
- laravel - vue 页面不渲染更改
- github - 在 Heroku 上使用 .gitignore
- android - 创建类 viewModel 的实例时出错
- mongodb - 您可以在 mongodb 中自动创建空间索引吗?
- python - Python - Tkinter 事件生成
- sharepoint-online - Sharepoint Online 中的工作流程
- javascript - jQuery中的Addclass函数不添加类