我需要從我的Lucene索引中刪除文檔,然後能夠稍後重新添加它們。看來,如果我將文檔標記爲已刪除,然後嘗試再次添加它,文檔仍然會被刪除。如何「取消刪除」文檔?是否有可能在Lucene.net索引中取消刪除文檔?
這是怎麼了標記的文件爲「已刪除」:
Term = new Tearm("id", Id.Value);
IndexSearcher.reader.DeleteDocuments(term);
IndexSearcher.reader.Close();
所以,如果我想..我會怎麼做,再次「激活」這個文件呢?
謝謝!
看來你使用的是一個非常舊的版本的Lucene.Net(現在,人們使用IndexWriter的Delete方法)你使用哪個版本? –
我使用的是2.0.0.4版本。我沒有意識到IndexWriter上有一個刪除方法。該刪除是否真的刪除了文檔,還是隻是將其刪除? – Nick
A)否,2.0.0.4中IndexWriter上沒有Delete方法。如果我記得正確的話,它是在2.3.1中介紹的。 B)'或者它只是標記爲刪除'這是所有(AFAIK)數據庫,搜索引擎的工作方式。我認爲,在升級到2.9.2或2.9.4後,重新提出您的問題會更好一些。 –