lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Greg Steffensen <greg.steffen...@gmail.com>
Subject Re: How to use RAMDirectory more efficiently
Date Mon, 02 Jan 2012 04:54:49 GMT
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 <zhoucheng2008@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.hubbard@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 <zhoucheng2008@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!
> > >
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message