Java Lucene:如何从索引中获取LongField

Java Lucene:如何从索引中获取LongField,java,lucene,search-engine,Java,Lucene,Search Engine,我在索引中添加了一个LongField 方法 IndexSearcher.doc() 返回一个文档,其中所有字段 org.apache.lucene.document.Field或org.apache.lucene.document.StoredField 如何从索引中获取与输入的字段类型相同的文档。因此,我将此文档复制到另一个具有相同字段类型的索引中。最后,我找到了另一个方法indexsearch.doc(int,StoredFieldVisitor)(我使用的是lucene 4.3) 并

我在索引中添加了一个LongField

方法

IndexSearcher.doc() 
返回一个文档,其中所有字段

org.apache.lucene.document.Fieldorg.apache.lucene.document.StoredField


如何从索引中获取与输入的字段类型相同的文档。因此,我将此文档复制到另一个具有相同字段类型的索引中。

最后,我找到了另一个方法
indexsearch.doc(int,StoredFieldVisitor)
(我使用的是lucene 4.3)

并创建一个自定义StoredFieldVisitor


}

最后,我找到了另一个方法
indexsearch.doc(int,StoredFieldVisitor)
(我使用的是lucene 4.3)

并创建一个自定义StoredFieldVisitor

}

public class StaySameFieldVisitor extends DocumentStoredFieldVisitor {
@Override
public void intField(FieldInfo fieldInfo, int value) {
    getDocument().add(new IntField(fieldInfo.name, value, Store.YES));
}

@Override
public void longField(FieldInfo fieldInfo, long value) {
    getDocument().add(new LongField(fieldInfo.name, value, Store.YES));
}

@Override
public void doubleField(FieldInfo fieldInfo, double value) {
    getDocument().add(new DoubleField(fieldInfo.name, value, Store.YES));
}

@Override
public void floatField(FieldInfo fieldInfo, float value) {
    getDocument().add(new FloatField(fieldInfo.name, value, Store.YES));
}