在做關於在lucene中刪除文檔的研究時,我已經顯示使用IndexReaders delete()方法傳入文檔ID。現在我真的需要這樣做,看起來lucene目前不支持這種方法,並且我很少運氣找到當前的方法來做到這一點。lucene刪除記錄,已棄用?
任何想法?
在做關於在lucene中刪除文檔的研究時,我已經顯示使用IndexReaders delete()方法傳入文檔ID。現在我真的需要這樣做,看起來lucene目前不支持這種方法,並且我很少運氣找到當前的方法來做到這一點。lucene刪除記錄,已棄用?
任何想法?
現在缺失可以用的IndexWriter
做http://lucene.apache.org/java/3_0_2/api/all/org/apache/lucene/index/IndexWriter.html
文件ID是內部Lucene的,真是不應該使用。除其他問題外,他們可能會在未發出警告的情況下更改。
你是如何獲得文檔ID?大概通過查詢?然後根據該查詢刪除。另外,如果你有自己的唯一ID字段,你可以做writer.DeleteDocuments(new Term("MyIDField", "ID to delete"));
然而我需要能夠通過docid刪除。我有一個很大的指數,並且以獨特的方式重建索引是不可能的,因爲它超過了100GB。幾個索引合併在一起給重複條目,我需要找到一種方法來擺脫那些重複的。我發現代碼使用索引讀取器.delete()方法執行此操作,但現在它已不存在,因此我很難找到一種方法來執行此操作。 – recursive9 2010-09-16 17:28:33