0

在索引我的文档时,我提升了部分文档(使用 doc.setBoost)。

使用邻近查询时,一切正常:

“你的邻近查询”~30

不会考虑升压因素。

邻近查询不支持提升吗?

在查询的解释输出下方:“woman the”~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)

任何帮助将不胜感激。

谢谢,我。

4

2 回答 2

0

为什么不在查询时提升?优点是您可以调整邻近度和提升设置,而不必担心重新索引您的文档:

“您的邻近查询”~30^10

或者

myField:"你的邻近查询"~30^10

希望这可以帮助。

于 2015-03-18T21:23:29.483 回答
0

Document.setBoost最新版本的 Lucene 不支持。在旧版本中,它实际上所做的是将设置的文档提升乘以每个文档字段提升。实际上,实际上并没有像 Document boost 这样的东西,这只是设置一堆字段提升的便捷方法。

字段提升(和文档提升)与 LengthNorm 因子组合在一起,并被压缩(有损)并存储在索引中(请参阅 参考资料Similarity.computeNorm)。这就是fieldNorm你看到的价值。当您从索引中检索文档时,您为文档级别提升设置的原始值已通过这些计算步骤丢失,并且无法检索。

于 2013-05-31T15:49:01.510 回答