目前,如果我向Solr发送以下delete-by-query命令,则应清除所有条目的索引:
//<delete><query>*:*</query></delete>
http://<solr-server>:<port>/solr/update?stream.body=%3Cdelete%3E%3Cquery%3E*%3A*%3C%2Fquery%3E%3C%2Fdelete%3E
我从solr服务器得到的响应似乎正常:
<response>
<lst name="responseHeader">
<int name="status">0</int>
<int name="QTime">13</int>
</lst>
</response>
但是,如果我通过重新启动Tomcat重新启动Solr,然后执行选择查询,我仍然会检索索引的搜索结果。为什么这些结果不会被删除?
(注意:在我的笔记本电脑上我安装了一个Solr实例,这个过程在删除索引时工作正常)
答案 0 :(得分:2)
删除后,您还需要发送提交查询:
http://<solr-server>:<port>/solr/update?stream.body=<commit/>
答案 1 :(得分:0)
我后来发现删除查询命令失败,因为我们的linux服务器上的文件权限阻止了Solr执行更新。使用chmod
命令修复此问题。
对此的任何安全建议都将不胜感激。