Solr删除因某些原因无法正常工作

只是试图删除所有文件,并做到了这一点:

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 

我收到了回复:

  0 17   

但是当我搜索时,我仍然会得到结果。

我做错了什么?

不确定它是否重要,但你可能编码:也

 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 '*:*' 

最近我也被这个蜇了。 请记住,如果您在solrconfig.xml中配置了updateLog,但schema.xml中没有版本字段

请参阅https://issues.apache.org/jira/browse/SOLR-3432

我在这个上花了一个小时!

将commit = true参数放在GET请求中:

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

记得清除浏览器缓存! 我以为我遇到了同样的问题,但事实certificate浏览器刚刚缓存了结果并返回了缓存页面。 D’哦!

在Lucene维基:

它仍然会被找到,因为索引更改在看到之前是不可见的,并且会打开一个新的搜索器。 要导致这种情况发生,请向Solr发送一个提交命令(post.jar默认为你做这个)

也许您可以向Solr发送消息。

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

可能你在更新之后和问号之前缺少正斜杠( / )。

当前查询:

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

修改后的查询:

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