Yeah honestly I don't know how it ever worked either.

The notes in the wiki seem to indicate that syntax (with multiple <id> nodes) will be supported in Solr 1.4, not 1.3 - but I guess it really just means that you can't combine those with a <query> node yet.

I'll miss the deletesPending stat, I think I'm going to have to re- implement this within our application now - I try to block people from committing unless there's actually something to commit (and only after certain time interval, etc), and the deletesPending stat helped to determine this (maybe you have no new documents to index but you do need to commit). Not a huge deal to do, it was just convenient.

Thanks for the pointers!

--
Steve

On Feb 27, 2009, at 5:18 PM, Chris Hostetter wrote:


: <delete><id>image.1</id></delete><delete><id>image.2</id></delete> etc... (one
: delete node for each image we wanted to delete)
:
: And that worked in 1.2.

that is really suprising ... it's not a legal XML doc (multiple root
nodes) so it should have been an error.

Support was added in Solr 1.3 to support multiple <id> elements in a
single <delete> element...

<delete><id>image.1</id><id>image.2</id>...</delete>

: Also, we could get a statistic called "deletesPending" from the stats.jsp page
: in the admin console.
:
: Now, when we upgraded to 1.3, I noticed right away that deletesPending was : gone, but since it wasn't critical to the application we kinda let it go. : Now, first of all, I'm wondering, is there any way to get this statistic back?

Not really .... Solr kept that stat before because in order to delete by query it had to execute searches and maintain a queue of docs to deletes
and then process them explicitly when the commit happened.  now the
underlying lucene IndexWriter can handle hte deleteByQuery directly.

: And that's fine. Just wondering if that was actually a change or what's going : on there or if the fact that it ever worked was a fluke (which seems to be the : case since I find people out on message boards essentially saying the delete : by query method is the only way to delete multiple documents at once). I'm

As i mentioned, that was only true before 1.3, but the syntax you were
using was definitely a fluke.

switching to the multiple <id/> nodes inside a single <delete/> node
should be a lot faster then the <query/> using "OR" syntax you are using
right now BTW.


-Hoss


Reply via email to