The two directories won't be synchronized. As the RAMDirectory JavaDocs say:
Note that the resulting RAMDirectory instance is fully independent from the original Directory (it is a complete copy). Any subsequent changes to the originalDirectory will not be visible in the RAMDirectory instance. So writes using that IndexWriter will only appear in ramDir. On Sun, Jan 1, 2012 at 11:21 PM, Cheng <zhoucheng2...@gmail.com> wrote: > what about my code as follow: > > FSDirectory indexDir = new NIOFSDirectory(new File("c:/index_folder")); > Directory ramDir = new RAMDirectory(indexDir); > IndexWriterConfig iwc = new IndexWriterConfig(Version.LUCENE_35, > new StandardAnalyzer(Version.LUCENE_35)); > IndexWriter iw = new IndexWriter(ramDir, iwc); > > I associate the FSDirectory and RAMDirectory as the very beginning. Will > the two be synchronized when the writer is committed or close? > > Thanks > > > > On Sun, Jan 1, 2012 at 2:56 PM, Charlie Hubbard > <charlie.hubb...@gmail.com>wrote: > > > You can always index into RAMDirectory for speed then synchronize those > > changes to the disk by adding the RAMDirectory to a FSDirectory at some > > point. Here is a simple example of how to do that: > > > > public void save( RAMDirectory ram, File dir ) { > > FSDirectory fs = FSDirectory.open( dir ); > > IndexWriter writer = new IndexWriter( fs, ... ); > > try { > > writer.addIndexes( ram ); > > } finally { > > writer.close(); > > } > > } > > > > > > > http://lucene.apache.org/java/3_3_0/api/core/org/apache/lucene/index/IndexWriter.html#addIndexes(org.apache.lucene.store.Directory > > .. > > .) > > > > On Sat, Dec 31, 2011 at 3:37 PM, Cheng <zhoucheng2...@gmail.com> wrote: > > > > > Hi, > > > > > > Suppose that we have a huge amount of indices on hard drives but > working > > in > > > RAMDirectory is a must, how can we decide which part of the indices to > be > > > loaded into RAM, how to modify the indices, and when and how to > > synchronize > > > the indices with those on hard drives? > > > > > > Any thoughts? > > > > > > Thanks! > > > > > >