1

我在 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 中的配置有问题吗?

任何建议表示赞赏!

4

3 回答 3

2

终于,我找到了答案!当我将更新处理程序配置更改为:

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

有用!

于 2013-03-01T01:57:09.260 回答
0

Solr Wiki 上通过 GET状态更新XmlMessages的示例

也可以使用 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
于 2013-02-28T16:45:33.443 回答
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 是更新的必填字段。

于 2019-05-28T07:38:44.060 回答