Solr删除由于某种原因无法正常工作

Posted

技术标签:

【中文标题】Solr删除由于某种原因无法正常工作【英文标题】:Solr delete not working for some reason 【发布时间】:2011-01-22 10:37:15 【问题描述】:

只是想删除所有文件,然后这样做:

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>

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

我做错了什么?

【问题讨论】:

solr 日志在哪里,我没找到!我在码头上跑步。 没关系,如果您有响应,则没有错误。你的客户平台是什么?如果是 Java,您可以只使用 SolrJ,还是有什么特殊原因您不使用它? 查询*:*会得到什么文档? 如果有人想知道,这里是关于如何从 URL 中进行此类删除的 SOLR 文档:wiki.apache.org/solr/UpdateXmlMessages 对我来说这没有帮助,但请务必检查链接问题:***.com/questions/12057734/… 【参考方案1】:

不确定是否重要,但您也可以对 : 进行编码

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

要尝试的另一件事是使用 POST 方法(调用更新的首选方法):

curl http://localhost:8983/solr/update?commit=true -H "Content-Type: text/xml" --data-binary '<delete><query>*:*</query></delete>'

【讨论】:

然后我运行了一个单独的 'code'(localhost:8983/solr/update?stream.body=<commit />) 命令。非常感谢【参考方案2】:

在 Lucene 维基中:

它仍然会被找到,因为索引 更改是不可见的,直到,并且 新的搜索器打开。造成这种 发生,发送一个提交命令到 Solr(post.jar 通过 默认)

也许您可以向 Solr 发布 &lt;commit/&gt; 消息。

【讨论】:

【参考方案3】:

将 commit=true 参数放入您的 GET 请求中:

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

【讨论】:

【参考方案4】:

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

【讨论】:

【参考方案5】:
http://localhost:8983/solr/update?stream.body=<delete><query>*:*</query></delete>&commit=true

【讨论】:

【参考方案6】:

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

当前查询:

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

【讨论】:

【参考方案7】:

我最近也被这个刺痛了。请记住,如果你在 solrconfig.xml 中配置了 updateLog,但 schema.xml 中没有 version 字段

见https://issues.apache.org/jira/browse/SOLR-3432

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

【讨论】:

很棒的评论。这正是我的问题。

以上是关于Solr删除由于某种原因无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章

C# 代表。铸造由于某种原因无法正常工作

classList.remove 和 .add 由于某种原因无法正常工作

GROUP CONCAT 由于某种原因无法正常工作

从 MYSQL 表中删除

使用 jQuery 按 ID 删除 DOM 元素

由于我删除了 phpMyadmin 中的表,Php artisan 无法正常工作,如何撤消此操作?