Lucene.net操作索引庫
刪除 (軟刪除,僅添加了刪除標記。調用IndexWriter.Optimize() 后真正刪除)
IndexReader reader = IndexReader.Open(directory);
// 刪除指定序號(DocId)的 Document。
reader.Delete(123);
// 刪除包含指定 Term 的 Document。
reader.Delete(new Term(FieldValue, "Hello"));
// 恢復軟刪除。
reader.UndeleteAll();
reader.Close();
增量更新 (只需將 create 參數設為 false,即可往現有索引庫添加新數據。)
Directory directory = FSDirectory.GetDirectory("index", false);
IndexWriter writer = new IndexWriter(directory, analyzer, false);
writer.AddDocument(doc1);
writer.AddDocument(doc2);
writer.Optimize();
writer.Close();
IndexReader reader = IndexReader.Open(directory);
// 刪除指定序號(DocId)的 Document。
reader.Delete(123);
// 刪除包含指定 Term 的 Document。
reader.Delete(new Term(FieldValue, "Hello"));
// 恢復軟刪除。
reader.UndeleteAll();
reader.Close();
增量更新 (只需將 create 參數設為 false,即可往現有索引庫添加新數據。)
Directory directory = FSDirectory.GetDirectory("index", false);
IndexWriter writer = new IndexWriter(directory, analyzer, false);
writer.AddDocument(doc1);
writer.AddDocument(doc2);
writer.Optimize();
writer.Close();
全站熱搜