Apache Solr删除查询3.6.2

时间:2013-10-08 19:01:17

标签: solr

每次我在Apache Solr中运行删除查询

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

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

我得到了上述响应,当我查询我的索引以查看具有该id的文档是否已被删除并且它仍然能够查询我删除的文档。

我想知道什么是最可靠的方法来知道文件已从solr索引中删除?如果它被删除需要多长时间?

我不相信Solr Reponse是确定删除查询的最佳方式。

2 个答案:

答案 0 :(得分:3)

找出Qn的答案,我发布了“id:APP 5.6.2 *”

Solr不解释空格,所以你需要将它们转义,所以当我输入id:APP \ 5.6.2 *它有效。

您获得的Response xml也没有实际指示查询是否成功。

这只是意味着已收到HTTP请求,作为响应,您将获得我在qn中发布的xml。

当我给id时发生了什么:APP 5.6.2 * =&gt;这被解释为id:APP并且它没有找到id为APP的文档,因此您要删除的文档没有被删除。

所以查询应该是

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

答案 1 :(得分:1)

您需要在您的网址中移动删除查询参数。我怀疑它在查询参数后丢失了。请尝试以下方法:

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