我正在尝试 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
另一个答案似乎是正确的,但没有解释原因。您只需要将您正在使用的内容类型更改为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
采用 : -
http://localhost:8983/solr/update?stream.body=<delete><query>id:SP2514N</query></delete>&commit=true