Guray Celik
Guray Celik

Reputation: 1281

How to delete SOLR indexed data by query with curl?

I have a SOLR schema.xml like this:

<field name="cartype" type="lowercase" indexed="true" stored="true"/>
<field name="color" type="lowercase" indexed="true" stored="true"/>

I want to delete "blue" and "stationwagon" tagged records from SOLR database with a curl command.

But I didn't do that with following command :

curl http://46.231.77.98:7979/solr/update/?commit=true -H "Content-Type: text/xml" -d "<delete>(cartype:stationwagon)AND(color:blue)</delete>"

Do you have any suggestions?

Upvotes: 23

Views: 42338

Answers (3)

freedev
freedev

Reputation: 30197

In this way would be easier:

curl -g "http://localhost:8983/solr/collection/update" \
     -d '<delete><query>(cartype:stationwagon)AND(color:blue)</query></delete>'

curl "http://localhost:8983/solr/collection/update?commit=true"

It's a simple POST request.

Upvotes: 2

d-_-b
d-_-b

Reputation: 23211

Using JSON instead of XML:

curl -g "http://localhost:8983/solr/$core/update" \
     -H 'Content-Type: application/json' \
     -d '{"delete":{"query":"field:value"}}'

Upvotes: 7

Matej
Matej

Reputation: 7627

You have to add query tag.

<delete><query>(cartype:stationwagon)AND(color:blue)</query></delete>

Upvotes: 34

Related Questions