2012-01-03 32 views
16

我有一個SOLR schema.xml中是這樣的:如何通過curl查詢刪除SOLR索引數據?

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

我要刪除「藍色」和「旅行車」標記從SOLR數據庫記錄有curl命令。

但我沒有做到這一點與下面的命令:

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

你有什麼建議嗎?

回答

27

您必須添加query標記。

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

謝謝,它的工作原理。 – 2012-01-04 16:07:23

+0

這相當於'+ cartype:旅行車+顏色:藍色'嗎? – devios1 2013-06-10 23:51:57

1

這樣會更容易: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>添加到查詢字符串。