索引我的文档时,我提升了部分文档(使用 doc.setBoost)。
使用邻近查询时,一切正常:
“您的邻近查询”~30
不会考虑提升因素。
邻近查询不支持提升吗?
下面的查询解释输出:“女人”〜30
所有结果输出如下:
0.0 = (NON-MATCH) weight(/d:"woman the"~30 in 342), product of:
1.0 = queryWeight(/d:"woman the"~30), product of:
2.0 = idf(/d: woman=82 the=12031)
0.5 = queryNorm
0.0 = fieldWeight(/d:"woman the" in 342), product of:
0.0 = tf(phraseFreq=0.33333334)
2.0 = idf(/d: woman=82 the=12031)
3.0 = fieldNorm(field=/d, doc=342)
任何帮助都会非常感激。
THX,我
答案 0 :(得分:0)
Document.setBoost
。在旧版本中,它实际上做了多少,将设置文档提升增加到每个文档字段提升中。实际上,没有任何文档提升这样的东西,这只是设置一堆字段提升的便捷方法。
字段提升(和文档提升)与LengthNorm因子结合在一起,并被压缩(有损)并存储在索引中(请参阅Similarity.computeNorm
)。这是您看到的fieldNorm
值。当您从索引中检索Document时,为文档级别提升设置的原始值已经通过这些计算步骤丢失,并且无法检索。
答案 1 :(得分:0)
为什么不在查询时提升?优点是您可以调整邻近度和提升设置,而无需担心重新索引文档:
“您的邻近查询”~30 ^ 10
或者
myField:“您的邻近查询”~30 ^ 10
希望这有帮助。