1

我正在尝试 solr ...尝试删除查询时出现以下错误:

 curl http://localhost:8983/solr/update --data-binary '<delete><id>SP2514N</id></delete>'

错误是:

Error 400 missing content stream  
Problem accessing /solr/update. Reason: missing content stream
4

2 回答 2

4

另一个答案似乎是正确的,但没有解释原因。您只需要将您正在使用的内容类型更改为text/xml,否则 curl 使用application/x-www-form-urlencoded带有--data-binary选项(或-d)的默认值。

您应该使用以下命令:

curl -H 'Content-Type: text/xml' http://localhost:8983/solr/update --data-binary '<delete><id>SP2514N</id></delete>'

您可能希望将commit=true参数添加到 url 以立即发出提交,否则您仍然会看到要删除的文档(直到下一次提交)。

您还可以使用参数通过 GET直接在 url 中传递 xml,就像另一个答案中建议的那样。stream.body

于 2012-07-30T10:04:44.737 回答
0

采用 : -

http://localhost:8983/solr/update?stream.body=<delete><query>id:SP2514N</query></delete>&commit=true
于 2012-07-30T06:52:35.927 回答