2014-03-26 36 views
-2

下面是代碼:如何更改代碼的Lucene 4.0

protected Document getDocument(File f) throws Exception { 
    Document doc = new Document(); 
    doc.add(new Field("contents", new FileReader(f),Field.TermVector.WITH_POSITIONS_OFFSETS)); 
    FileReader fr = new FileReader(f); 
    doc.add(new Field("filename", f.getName(), Field.Store.YES, Field.Index.NOT_ANALYZED)); 
    doc.add(new Field("fullpath", f.getCanonicalPath(), Field.Store.YES, Field.Index.NOT_ANALYZED)); 
    return doc; 
} 

我改變了版本號從3.6到4.0。所以有一些方法已被棄用。例如 例如: doc.add(新字段)該字段已棄用。 Field.TermVector TremVector已被棄用。並且FieldIndex索引也被棄用。

+1

有發佈說明記錄你需要做什麼。 – bmargulies

回答

0

Field documentation,他們列出了一組Field子類,它認爲值得去了解:

大多數用戶應該使用糖的一個子類:IntField,LongField,FloatField,DoubleField,ByteDocValuesField,ShortDocValuesField ,IntDocValuesField,LongDocValuesField,PackedLongDocValuesField,FloatDocValuesField,DoubleDocValuesField,SortedBytesDocValuesField,DerefBytesDocValuesField,StraightBytesDocValuesField,StringField,TextField,StoredField。

特別是,您會發現TextFieldStringField對於您列出的字段很有用。

The Migration Guide有更多關於4.0更改的信息。