未标准化的lucene默认相似度?

时间:2014-11-03 19:26:59

标签: java lucene

我正在重构一些旧的lucene代码,我找到了以下内容,

public class UnNormalizedLuceneSimilarity extends DefaultSimilarity {

    @Override
    public float lengthNorm(String fieldName, int numTerms) {
    if (numTerms > 0)
        return 1;
    else
        return 0;
    }

此代码使用lucene版本< 3.0

现在,在最新版本的lucene中,lengthNorm的方法签名已更改。

lengthNorm(FieldInvertState state)

我无法从文档中了解如何使用新方法实现相同的非标准化相似性。 有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

FieldInvertState的方法为getLength()。从它的外观来看,这种方法就是你所需要的。

return state.getLength() > 0? 1 : 0;