在Lucene中使用FieldInvertState来标识已将字段添加到文档的次数

时间:2012-03-08 15:12:59

标签: java lucene

从在Similarity类中传递给computeNorm()的FieldInvertState类,有任何方法可以找出特定字段添加到文档中的次数,以帮助我进行规范化计算。

即可以区分

doc.add(new Field(fielda,"val1");
doc.add(new Field(fielda,"val2");

doc.add(new Field(fielda,"val1 val2"); //added once but analyzer breaks into two terms

理想情况下,在一种情况下返回值2,在第二种情况下返回1

2 个答案:

答案 0 :(得分:1)

另见相似性文档。

由于您自己知道要添加到此字段中的“事物”数量,因此您可以将此计数放入DocValues字段并将其拉入您的相似度:您不需要索引器帮助。

答案 1 :(得分:0)

不,但您可以使用自定义属性指定以不同方式添加“val2”。