lucene.net多目录搜索及合并索引

=================多目录搜索 ============

// 我们可以使用 MultiReader 或 MultiSearcher 搜索多个索引库。

//string indexPath = @"D:\IndexFilePath";
//string indexPath2 = @"D:\IndexFilePath2";
//MultiReader reader = new MultiReader(new IndexReader[] { IndexReader.Open(indexPath), IndexReader.Open(indexPath2) });
//IndexSearcher searcher = new IndexSearcher(reader);
//Hits h = searcher.Search(query);

//或

//IndexSearcher searcher1 = new IndexSearcher(reader1);
//IndexSearcher searcher2 = new IndexSearcher(reader2);
//MultiSearcher searcher = new MultiSearcher(new Searchable[] { searcher1, searcher2 });
//Hits hits = searcher.Search(query);

=====================合并两个目录的索引文件=============

private void btnHeBing_Click(object sender, EventArgs e)
{
string path1= txtIndexPath1.Text;
string path2 = txtIndexPath2.Text;
Lucene.Net.Store.Directory directory1 = FSDirectory.GetDirectory(path1, false);
Lucene.Net.Store.Directory directory2 = FSDirectory.GetDirectory(path2,false);
//将目录1合并到了目录2中
IndexWriter writer = new IndexWriter(directory2, new PanGuAnalyzer(), false);
writer.AddIndexes(new Lucene.Net.Store.Directory[] { directory1 });
//writer.Optimize();
writer.Close();
MessageBox.Show("合并完毕");
}

原文地址:https://www.cnblogs.com/zjw520/p/3023710.html