代码改变世界

艾伟_转载:Lucene.net操作索引库

2011-08-29 00:16  狼人:-)  阅读(147)  评论(0编辑  收藏  举报

 

删除 (软删除,仅添加了删除标记。调用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();