web-dev-qa-db-ja.com

curlを使用したクエリでSOLRインデックス付きデータを削除する方法

私はこのようなSOLR schema.xmlを持っています:

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

Curlコマンドを使用して、SOLRデータベースから「blue」と「stationwagon」のタグ付きレコードを削除したいのですが。

しかし、私は次のコマンドでそれをしませんでした:

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

何か提案はありますか?

19
Guray Celik

queryタグを追加する必要があります。

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

このようにすると、より簡単になります:curl "http://46.231.77.98:7979/solr/collection/update/?commit=true&stream.body=<delete><query>(cartype:stationwagon)AND(color:blue)</query></delete>"

これは単純なGETリクエストであり、パラメータを追加するだけです
stream.body=<delete><query>(cartype:stationwagon)AND(color:blue)</query></delete>をクエリ文字列に。

1
freedev