【发布时间】:2012-03-24 18:43:10
【问题描述】:
我有许多字段,要么只包含一个术语,要么我不希望它们在它们确实有更多术语时受到不利影响,而且我从不提升字段,所以我禁用这些字段的规范Field.Index.ANALYZED_NO_NORM 或 Field.Index.NOT_ANALYZED_NO_NORM。
但是现在如果我使用两个字段进行搜索
即
fielda:term1 OR fieldb:term2
并且 fielda 启用了规范,而 fieldb 没有,这是否意味着匹配 fieldb 的文档比匹配 fielda 的文档更有可能得分,因为仅匹配 fielda 的文档的得分最终会更低分数在
weight = tf * idf * fieldnorm calculation.
因为如果该字段包含多个术语,则 fieldnorm 将小于一个
这不是我想要的,我只是想要一个在 fieldb 上匹配的文档,其中包含三个要评分的术语,以及在一个文档 fieldb 上匹配一个术语
我是否理解正确,所有关于 fieldnorm 的讨论都集中在它占用内存的事实上,如果您的字段仅包含一个术语,则没有必要我读过没有关于它如何影响结果的讨论,因为禁用规范的领域比具有规范的领域具有明显优势。
【问题讨论】: