Dear Nicolas
If you were to provide a patch and send it to bugzilla (then notify me of the bug #) I would be happy to review it.
regards Jeremy
On 15 Nov 2004, at 23:34, Nicolas Maisonneuve wrote:
the method to update a document is not optimized (reindexDocument method). this actual behavior is :
1- open reader if not open (but in fact it's always closed because of line 3)
2-delete document
3-close reader
4-open writer
5- write index
6-close index
(NOTE: with this behavior, the merge factor is useless because this method index only one document for a opening of indexwriter)
- A optimization in lucene is to avoid to open and close indexreader and indexwriter a lot of times.
so i propose this simple optimization : 1- open reader if not open 2- delete document 3-store lucene document in a buffer (Stack)
// flush the buffer if ((buffer % max_buffer)==0) {
// switch to write mode 4- close reader 5- open writer for (1 to max_buffer) { 6- write } 7- close writer }
with this kind of method, 1 - with a buffer of 100 doc, you divide the number of switching mode (writ/read) to 100 , and the indexing is much much faster 2- the merge factor is really useful because the indexwriter index more than 1 document
i've developped a Index component with 2 implemenations 1 indexerDefault with this kind of method 2- MultiThreadIndexer optimized for multiple CPU
maybe it could be interesting to integred this components to the lucene Block
Nicolas Maisonneuve
--------------------------------------------------------
If email from this address is not signed
IT IS NOT FROM MEAlways check the label, folks !!!!! --------------------------------------------------------
smime.p7s
Description: S/MIME cryptographic signature
