On 9/8/2010 4:01 PM, John O'Brien wrote: > Hi, > Apologies if this has already been covered in previous posts but > I've not been able to find the answer in the archive so far. > > We have an application which indexes mail messages. We get the > information for each message over IMAP, create the fields (e.g. subject, > body, folder etc) and write the documents to the index. When a mail > message is moved from one IMAP folder to another, our application gets > notified of the move and we want to update the folder field in the > existing document, so we create a new document, delete the existing one > and write the new one. What I'm wondering is how other people use > existing documents to create new ones - at the moment we get all the > information over IMAP again which is obviously very inefficient but to > make it more efficient we are now going to change it to retrieve all the > fields and terms for the existing document and create the new document > using them. Is there another (better/more efficient) way of doing this > than retrieving the fields and terms for the existing document? > I guess you could use stored fields (Field::STORE_YES) to have this data handy? it will make your index larger, but will prevent you from retrieving the data again over IMAP or re-constructing it using the term vectors (which might not work correctly for some analyzer implementations). You can also use compressed fields if this is a lot of data (watch out though, they have been deprecated in Java Lucene 2.9 or so, and I assume we will have to update CLucene accordingly when time comes).
Itamar. ------------------------------------------------------------------------------ This SF.net email is sponsored by Make an app they can't live without Enter the BlackBerry Developer Challenge http://p.sf.net/sfu/RIM-dev2dev _______________________________________________ CLucene-developers mailing list CLucene-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/clucene-developers