Как удалить индексированные данные SOLR по запросу с помощью curl? - программирование
Подтвердить что ты не робот

Как удалить индексированные данные SOLR по запросу с помощью curl?

У меня есть 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>"

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

4b9b3361

Ответ 1

Вам нужно добавить тег query.

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

Ответ 2

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