【发布时间】:2020-07-31 05:45:47
【问题描述】:
我想从 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
【问题讨论】:
-
将
debugQuery=true附加到您的请求中 - 这将为您提供所有必要的调试信息。当您更改提升值时,如果分数不是恒定的,它可能只是切换文档的位置 - 由于您使用的是q,因此将根据查询词为每个文档计算分数,并且每个文档的分数可能不同(例如,如果它们分布在多个节点上,因为每个节点可能有不同数量的文档)。附加debugQuery=true(debug=query或debug=all在较新版本的 Solr 中)将显示分数计算
标签: solr solr-boost