[jira] Created: (SOLR-381) delete-by-query does not support purely negative queries

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] Created: (SOLR-381) delete-by-query does not support purely negative queries

Chris Mattmann (Jira)
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.