我将LongField添加到索引中。
方法
IndexSearcher.doc()
返回一个文档,其中所有字段都是
org.apache.lucene.document.Field或org.apache.lucene.document.StoredField
如何从索引中获取与我放入的字段类型相同的文档。然后我将此文档复制到具有相同字段类型的另一个索引。
我将LongField添加到索引中。
方法
IndexSearcher.doc()
返回一个文档,其中所有字段都是
org.apache.lucene.document.Field或org.apache.lucene.document.StoredField
如何从索引中获取与我放入的字段类型相同的文档。然后我将此文档复制到具有相同字段类型的另一个索引。
最后,我找到了另一种方法IndexSearcher.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));
}
}