我正在接管一個項目,所以我仍然在學習這一點。該項目使用Lucence.NET。我也不知道這個功能是否正確。無論如何,我實例:Lucene.NET - 無法使用IndexWriter刪除文檔
var writer = new IndexWriter(directory, analyzer, false);
對於具體的文件,我打電話:
writer.DeleteDocuments(new Term(...));
最後,我打電話通常writer.Optimize(),writer.Commit() ,和writer.Close()。
Term對象中的字段是Guid,轉換爲字符串(.ToString(「D」)),並存儲在文檔中,使用Field.Store.YES和Field.Index.NO。
但是,通過這些設置,我似乎無法刪除這些文檔。目標是刪除,然後添加更新的版本,以便獲取同一文檔的重複內容。如果需要,我可以提供更多的代碼/解釋。有任何想法嗎?謝謝。
我做了一些更多的研究後,我意識到並測試了這個。我爲列編制索引,重建它,現在文檔正確地被刪除。謝謝。 – 2011-05-12 17:34:30
我看到了同樣的問題,但我不明白你的意思是「該字段必須編入索引」。你能澄清一下嗎? – 2013-04-05 18:30:23