One of the most requested features in Lucene/SOLR is to be able to update only selected fields rather than the whole document. But that's not how it works at present. An update is really a delete and an add.
So for your second message, you can't do a partial update, you must "update" the whole document. I'm a little confused by what you *want* in your first e-mail. But the current way SOLR works, if the SOLR server first received the delete then the update, the index would have the document in it. But the opposite order would delete the documen. But this really doesn't sound like a SOLR issue, since SOLR can't magically divine the desired outcome. Somewhere you have to coordinate the requests or your index will not be what you expect. That is, you have to define what rules index modifications follow and enforce them. Perhaps you can consider a queueing mechanism of some sort (that you'd have to implement yourself...) HTH Erick On Thu, Apr 1, 2010 at 1:03 AM, Julian Davchev <j...@drun.net> wrote: > Hi > I have distributed messaging solution where I need to distinct between > adding a document and just > trying to update it. > > Scenario: > 1. message sent for document to be updated > 2. meanwhile another message is sent for document to be deleted and is > executed before 1 > As a result when 1 comes instead of ignoring the update as document is > no more...it will add it again. > > From what I see in manual I cannot distinct those operations which > would. Any pointers? > > Cheers >