hi,
I am using RamDirectory and FSDirectory for indexing documents.
I use RamDirectory as Buffer.
For example,
-----------------------------------
String indexDir = "d:/lucene_data/merge_test_index";
Analyzer analyzer = new StopAnalyzer();
RAMDirectory ramDir = new RAMDirectory();
IndexWriter ramWriter = new IndexWriter(ramDir, analyzer, true);
for (int i = 0; i < 10000; i++) {
Document doc = new Document();
doc.add(new Field("id", "test id"+i, Field.Store.YES,
Field.Index.TOKENIZED, Field.TermVector.WITH_POSITIONS_OFFSETS));
writer.addDocument(doc);
}
IndexWriter fsWriter = new IndexWriter(indexDir, analyzer, true);
fsWriter.addIndexes(new Directory[] { ramDir });
ramWriter.close();
fsWriter.close();
------------------------------------
I know IndexWriter.addIndexes(Directory[] dir) method can merge other
indexes.
But, when I execute my program, just 2 files are created in index directory.
(segments.gen and segments_4)
And when I open with LUKE the index then meet error , It's bad index file.
What's wrong about that code..?
It's almost same as sample source code on book. I can't find any reason.
Please let me know what is wrong.
Thank you.
--
DEV용식
http://devyongsik.tistory.com