At the Lucene level, you don't have to commit before doing the deleteByQuery, i.e. 'a' will be correctly deleted without any intervening commit.
Mike McCandless http://blog.mikemccandless.com On Mon, Apr 15, 2013 at 3:57 PM, Shawn Heisey <s...@elyograg.org> wrote: > Simple question first: Is there anything in SolrJ that prevents indexing > more than 500 documents in one request? I'm not aware of anything myself, > but a co-worker remembers running into something, so his code is restricting > them to 490 docs. The only related limit I'm aware of is the POST buffer > size limit, which defaults in recent Solr versions to 2MiB. > > A more complex question: If I am doing both deletes and adds in separate > update requests, and I want to ensure that a delete in the next request can > delete a document that I am adding in the current one, do I need to commit > between the two requests? This is probably more of a Lucene question than > Solr, but Solr is what I'm using. > > To simplify: Let's say I start with an empty index. I add documents "a" > and "b" in one request ... then I send a deleteByQuery request for "a" "c" > and "e". If I don't do a commit between these two requests, will "a" still > be in the index when I commit after the second request? If so, would there > be an easy fix? > > Thanks, > Shawn