Data may not be committed to disk, buffers flushed, files closed, etc. until IndexWriter.close() is called, but file IO does happen before then. So I would expect the answer to your question to be no.
-- Ian. [EMAIL PROTECTED] Otis Gospodnetic wrote: > > Hello, > > This is from a thread from about 2 weeks ago. > What is the answer to this question? > If data is written to disk only when IndexWriter's close() is called, > wouldn't the sample code below be as efficient as the sample code that > uses RAMDirectory, further down? > > Thanks, > Otis > > ---- > When using the FSWriter, the actual file io doesn't occur until I close > the writer, right? So wouldn't it be just as efficient to do the > following: > > IndexWriter fsWriter = new IndexWriter(new File(...), analyzer, false); > while (... more docs to index...) > ... add 100,000 docs to fsWriter ... > } > fsWriter.optimize(); > fsWriter.close(); > > -----Original Message----- > From: Scott Ganyo [mailto:[EMAIL PROTECTED]] > Sent: Friday, November 02, 2001 10:47 AM > To: 'Lucene Users List' > Subject: RE: Indexing problem > > Well, I don't know if there's an archive of the list, so this what Doug > wrote: " > A more efficient and slightly more complex approach would be to build > large > indexes in RAM, and copy them to disk with IndexWriter.addIndexes: > IndexWriter fsWriter = new IndexWriter(new File(...), analyzer, > true); > while (... more docs to index...) > RAMDirectory ramDir = new RAMDirectory(); > IndexWriter ramWriter = new IndexWriter(ramDir, analyzer, true); > ... add 100,000 docs to ramWriter ... > ramWriter.optimize(); > ramWriter.close(); > fsWriter.addIndexes(new Directory[] { ramDir }); > } > fsWriter.optimize(); > fsWriter.close(); > " > > Scott -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
