Java プログラムを使用して lucene インデックスをマージしようとしています。私の要件は、既存のファイルを置き換えて新しいファイルをマージすることです。次のコードを使用しています。
try{
File INDEX_DIR= new File("path of first directory");
INDEX_DIR.mkdir();
File indexDir = new File("path of first directory");
Directory indexes[] = new Directory[indexDir.list().length];
IndexWriter writer = new IndexWriter(
FSDirectory.open(INDEX_DIR),
new SimpleAnalyzer(),true,
IndexWriter.MaxFieldLength.LIMITED);
indexes[0] = FSDirectory.open(indexDir);
writer.addIndexes(indexes[0]);
File indexDir1 = new File("path of second directory");
Directory indexes1[] = new Directory[indexDir1.list().length];
indexes1[0] = FSDirectory.open(indexDir1);
writer.addIndexes(indexes1[0]);
writer.optimize();
writer.close();
System.out.println("index merged");
}
catch(例外例) {
ex.printStackTrace();
}