使用 curl 执行更新命令

可以使用 curl 这个工具执行之前的几个指令,通过它的 –data-binary 参数,可以添加 XML 消息到 curl 命令中,然后发送一个 HTTP POST 请求,示例:
curl http://localhost:8983/update -H "Content-Type: text/xml" --data-binary '
<add>
<doc>
<field name="authors">Patrick Eagar</field>
<field name="subject">Sports</field>
<field name="dd">796.35</field>
<field name="isbn">0002166313</field>
<field name="yearpub">1982</field>
<field name="publisher">Collins</field>
</doc>
</add>'
发送包含文件的 XML 消息时,可以使用以下例子:
curl http://localhost:8983/update -H "Content-Type: text/xml"
--data-binary @myfile.xml
也可以通过 HTTP GET 命令发送短的请求,GET 发送请求时,需要对命令中的特殊字符进行 URL 编码,如:”<” 和 “>”
curl http://localhost:8983/update?stream.body=%3Ccommit/%3E
从 Solr 返回的结果类似以下所示显示:

&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;<br />
&lt;response&gt;<br />
&lt;lst name=&quot;responseHeader&quot;&gt;<br />
&lt;int name=&quot;status&quot;&gt;0&lt;/int&gt;<br />
&lt;int name=&quot;QTime&quot;&gt;127&lt;/int&gt;<br />
&lt;/lst&gt;<br />
&lt;/response&gt;

如果状态失败时,status 字段会显示一个非 0 的值。servlet 容器将产生一个 HTML 格式的错误消息。

Copyright © All Rights Reserved · Green Hope Theme by Sivan & schiy · Proudly powered by WordPress · 闽ICP备18020075号