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

Reply via email to