I'd better provide a snapshot of my code for people to understand my issues:
File file=new File("c:/index_files");
FSDirectory fsDir=new FSDirectory(file);
RAMDirectory ramDir=new RAMDirectory(fsDir, new
IndexWriterConfig(Version.LUCENE_35, new StandardAnalyzer());
IndexWriter iw = new IndexWriter(ramDir, iwc);
......DO something here with iw (associated with ramDir).....
Now I am trying to synchronize ramDir with fsDir:
//close iw prior to synchronization
iw.close();
// synchronize RAM with FS
IndexWriter writer = new IndexWriter(fsDir, new
IndexWriterConfig(Version.LUCENE_35, ik));
writer.addIndexes(ramDir);
writer.close();
ramDir.close();
Now I end up with duplicate copies of index files in c:/index_files
Is there something that I miss here?
------------------ Original ------------------
From: "zhoucheng2008"<[email protected]>;
Date: Mon, Jan 9, 2012 12:04 PM
To: "java-user"<[email protected]>;
Subject: Build RAMDirectory on FSDirectory, and then synchronzing the two
Hi,
I new a RAMDirectory based upon a FSDirectory. After a few modifications, I
would like to synchronize the two.
Some on the mailing list provided a solution that uses addIndex() function.
However, the FSDirectory simply combines with the RAMDirectory, and the size
doubled.
How can I do a real synchronization?
Thanks