Как удалить индексированные данные SOLR по запросу с помощью curl? - PullRequest
18 голосов
/ 04 января 2012

У меня есть SOLR schema.xml вот так:

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

Я хочу удалить записи с тегами "blue" и "stationwagon" из базы данных 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>"

Есть ли у вас какие-либо предложения?

Ответы [ 2 ]

30 голосов
/ 04 января 2012

Вы должны добавить тег query.

<delete><query>(cartype:stationwagon)AND(color:blue)</query></delete>
1 голос
/ 20 апреля 2017

Так будет проще: 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> в строку запроса.

...