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"<zhoucheng2...@gmail.com>; Date: Mon, Jan 9, 2012 12:04 PM To: "java-user"<java-user@lucene.apache.org>; 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