我有一个像这样的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>"
你有什么建议吗?
答案 0 :(得分:30)
您必须添加query
代码。
<delete><query>(cartype:stationwagon)AND(color:blue)</query></delete>
答案 1 :(得分: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>
添加到查询字符串中。
答案 2 :(得分:0)
使用JSON代替XML:
curl -g "http://localhost:8983/solr/$core/update" \
-H 'Content-Type: application/json' \
-d '{"delete":{"query":"field:value"}}'