Hi, I am trying to use RAMDirectory as a buffer and am having some problems. I create indexes using FSDirectory directly and index directory contains the following files:
bash-3.00$ ls ~/index/ _0.cfs segments_3 segments.gen When I am trying to use RAMDirectory as a buffer and then add indexes to a FSDirectory the directory looks like: -bash-3.00$ ls ~/index/ segments_1 segments.gen and search is failing. This is a code I use to do it: import org.apache.lucene.analysis.standard.StandardAnalyzer; import org.apache.lucene.document.Document; import org.apache.lucene.document.Field; import org.apache.lucene.index.IndexWriter; import org.apache.lucene.store.Directory; import org.apache.lucene.store.FSDirectory; import org.apache.lucene.store.RAMDirectory; import java.io.FileReader; class Test { public static void main(String[] args) throws Exception{ FSDirectory fsDir= FSDirectory.getDirectory(args[0]); RAMDirectory ramDir=new RAMDirectory(); IndexWriter fsWriter=new IndexWriter(fsDir,new StandardAnalyzer(),true); IndexWriter ramWriter=new IndexWriter(ramDir,new StandardAnalyzer(),true); Document doc=new Document(); doc.add(new Field("test","I am testing RAM directory", Field.Store.YES, Field.Index.UN_TOKENIZED)); doc.add(new Field("contents", new FileReader(args[1]),Field.TermVector.WITH_POSITIONS_OFFSETS ) ); ramWriter.addDocument(doc); fsWriter.addIndexes(new Directory[] {ramDir,}); ramWriter.close(); fsWriter.optimize(); fsWriter.close(); } } To run it just create index directory and do: java Test <index_dir_name> <some_file_name> Any idea? Thanks a lot, Tanya