Solr delete не работает по какой-то причине - PullRequest
27 голосов
/ 01 марта 2010

Просто пытаюсь удалить все документы, и сделал это:

http://localhost:8983/solr/update?stream.body=%3Cdelete%3E%3Cquery%3E*:*%3C/query%3E%3C/delete%3E

затем совершено:

http://localhost:8983/solr/update?stream.body=%3Ccommit/%3E

Я получаю ответ:

<lst name="responseHeader">
<int name="status">0</int>
<int name="QTime">17</int>
</lst>
</response>

Но когда я ищу, я все равно получаю результаты.

Что я сделал не так?

Ответы [ 7 ]

32 голосов
/ 11 ноября 2010

Не уверен, что это важно, но вы можете закодировать: тоже

http://localhost:8983/solr/update?stream.body=%3Cdelete%3E%3Cquery%3E*%3A*%3C%2Fquery%3E%3C%2Fdelete%3E

Еще одна попытка - использовать метод POST (предпочтительный способ вызова update):

curl http://localhost:8983/solr/update?commit=true -H "Content-Type: text/xml" --data-binary '<delete><query>*:*</query></delete>'
9 голосов
/ 28 сентября 2012

Меня недавно ужалил и этот.Просто помните, что если у вас есть updateLog настроен в solrconfig.xml, но в schema.xml

нет поля version , см. https://issues.apache.org/jira/browse/SOLR-3432

Я потратилдобрый час на этом !!!

6 голосов
/ 26 ноября 2010

Поместите параметр commit = true в ваш запрос GET:

http://localhost:8983/solr/update?stream.body=%3Cdelete%3E%3Cquery%3E*:*%3C/query%3E%3C/delete%3E&commit=true

2 голосов
/ 03 октября 2011

Не забудьте очистить кеш браузера! Я думал, что у меня та же проблема, но оказалось, что браузер только что кэшировал результат и возвращал кэшированную страницу. D'ой!

0 голосов
/ 30 апреля 2012

Возможно, вам не хватает косой черты (/) после обновления и до вопросительного знака.

Текущий запрос:

http://localhost:8983/solr/update?stream.body=<delete><query>*:*</query></delete>&commit=true

Пересмотренный запрос:

http://localhost:8983/solr/update/?stream.body=<delete><query>*:*</query></delete>&commit=true
0 голосов
/ 23 декабря 2011
http://localhost:8983/solr/update?stream.body=<delete><query>*:*</query></delete>&commit=true
0 голосов
/ 15 ноября 2010

В вики Lucene:

все равно будет найдено, потому что индекс изменения не видны до и новый поисковик открыт. Чтобы вызвать это чтобы случиться, отправьте команду на коммит Solr (post.jar делает это для вас по умолчанию)

Может быть, вы можете отправить сообщение <commit/> в Solr.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...