请求的资源(/ solr / update)不可用

时间:2013-02-28 12:36:20

标签: solr

我在Centos中部署了solr 3.6.1。现在我可以搜索文档,但是我无法在solr中删除文档。

solrconfig.xml的相关部分如下:

  <requestHandler name="/update" class="solr.UpdateRequestHandler">
  </requestHandler>
  <requestHandler name="/update/csv" class="solr.CSVRequestHandler" >
     <lst name="defaults">
      <str name="seperator">,</str>
      <str name="header">true</str>
      <str name="encapsulator">"</str>
     </lst>
  </requestHandler>

当我输入此网址时

http://localhost:8080/solr/update/?stream.body=<delete><id>123</id></delete>&stream.contentType=text/xml;charset=utf-8&commit=true

在我的浏览器中,结果是:

type Status report

message: /solr/update

description: The requested resource is not available

但是,update / csv处理程序工作正常。

我想知道solrconfig.xml中的配置有问题吗?

感谢任何建议!

3 个答案:

答案 0 :(得分:2)

最后,我找到了答案! 当我将更新处理程序conf更改为:

<requestHandler name="/update" class="solr.XmlUpdateRequestHandler">

有效!

答案 1 :(得分:0)

UpdateXmlMessages via GET州的Solr Wiki上的示例

  

也可以使用GET请求发送短更新请求(需要进行URL编码)

所以我会尝试以下内容,例如

 http://localhost:8080/solr/update/?stream.body=%3Cdelete%3E%3Cid%3E123%3C/id%3E%3C/delete%3E
 http://localhost:8080/solr/update/?stream.body=%3Ccommit/%3E

答案 2 :(得分:0)

也许您可以尝试将其更新为json;

curl 'http://<your_url>/solr/<yourcorename>/update?commit=true' -H 'Content-type:application/json' -d '[{"id":"123","field_1":{"set":899.99}, "field_2":{"set":123}}]'

id是必须更新的字段。