2012-01-03 19 views
16

Tôi có một schema.xml Solr như thế này:Làm thế nào để xóa dữ liệu được lập chỉ mục SOLR bằng truy vấn với curl?

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

Tôi muốn xóa "xanh" và "stationwagon" tagged hồ sơ từ cơ sở dữ liệu Solr với một lệnh curl.

Nhưng tôi đã không làm điều đó với lệnh sau:

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

Bạn có bất cứ lời đề nghị?

Trả lời

27

Bạn phải thêm query thẻ.

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

Cảm ơn, nó hoạt động. –

+0

Điều này tương đương với '+ cartype: stationwagon + color: blue'? – devios1

1

Bằng cách này sẽ dễ dàng hơn: curl "http://46.231.77.98:7979/solr/collection/update/?commit=true&stream.body=<delete><query>(cartype:stationwagon)AND(color:blue)</query></delete>"

Đó là một GET yêu cầu đơn giản và bạn có chỉ để thêm tham số
stream.body=<delete><query>(cartype:stationwagon)AND(color:blue)</query></delete> vào chuỗi truy vấn.

Các vấn đề liên quan