delete-by-query does not support purely negative queries
--------------------------------------------------------
Key: SOLR-381
URL: https://issues.apache.org/jira/browse/SOLR-381
Project: Solr
Issue Type: Bug
Components: update
Reporter: Erik Hatcher
Priority: Minor
Reported by Rob Casson:
indexing the example docs from 1.2, these steps work:
curl http://localhost:8983/solr/update --data-binary
'<delete><query>solr</query></delete>' -H 'Content-type:text/xml;
charset=utf-8'
curl http://localhost:8983/solr/update --data-binary '<optimize />' -H
'Content-type:text/xml; charset=utf-8'
but if i reindex, and change the delete query to a negative, the
non-'solr' docs don't get deleted:
curl http://localhost:8983/solr/update --data-binary
'<delete><query>-solr</query></delete>' -H 'Content-type:text/xml;
charset=utf-8'
curl http://localhost:8983/solr/update --data-binary '<optimize />' -H
'Content-type:text/xml; charset=utf-8'
And detailed by Hoss with a workaround:
the delete by query does "the
right thing" with a purely negative query ... when the customization was
added to Solr to support pure negative queries it was done at the
SolrIndexSearcher level when computing DocSets, but delete by query uses a
lower level method passing in a HitCOllector.
the work arround is to include *:* in yoru query ...
<delete><query>*:* -solr</query></delete>
... if/when this is fixed
in Solr that's esentally what solr will do under the covers.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.