Is your user field stored? If so, you cold find the target Document, get the user field value, modify it, and re-add it to the Document (or something close to this -- I am doing this with one of the indices on simpy.com and it's working well).
Otis -- Sematext -- http://sematext.com/ -- Lucene - Solr - Nutch ----- Original Message ---- From: Antony Bowesman <[EMAIL PROTECTED]> To: java-user@lucene.apache.org Sent: Tuesday, January 8, 2008 12:47:05 AM Subject: Deleting a single TermPosition <doc, frequency, position> for a Document I'd like to 'update' a single Document in a Lucene index. In practice, this 'update' is actually just a removal of a single TermPosition for a given Term for a given doc Id. I don't think this is currently possible, but would it be easy to change Lucene to support this type of usage? The reason for this is to optimise my index usage. I'm using Lucene to index arbitrary data sets, however, in some data sets, each Document is indexed once for each user who has an interest in the document. For example, with mail data, a mail item (with a single recipient) is stored as two Documents, once with the 'user' field set to the sender's user Id and again with the user field set to the recipents's user Id. Searches just filter mail for a given user by the user field. When one of those users deletes the mail, the Document with the 'user' field is simply deleted. One of the original reasons for doing this was to enable horizontal partitioning of the index. This works nicely, but of course the index is bigger than necessary and the number of terms positions is at least double what is necessary. I had thought to originally indexed the data once, with the user field set to the sender and recipient user Id, but when the sender or recipient deletes the mail from their mailbox, searching becomes more complicated as the index does not reflect the external database state unless the mail is reindexed. Is this something other's have wanted or are there other solutions to this problem? Thanks Antony --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]