用卷曲重新加载Solr核心

asu*_*uka 13 curl solr core reload

我正在尝试通过以下句子重新加载Solr核心(版本3.6.0):

curl http://localhost:8983/solr/admin/cores?action=RELOAD\&core=mycore
Run Code Online (Sandbox Code Playgroud)

当我执行它时,我得到以下响应:

<?xml version="1.0" encoding="UTF-8"?>
<response>
   <lst name="responseHeader">
      <int name="status">0</int>
      <int name="QTime">1316</int>
   </lst>
</response>
Run Code Online (Sandbox Code Playgroud)

当我在浏览器中放置这样的URL时,我得到了类似的响应(差异是QTime的值).

我的问题是,如果我从浏览器调用URL我可以在日志信息中看到重载已执行,但如果我从CURL语句中调用它,我在日志信息中看不到任何内容(即比方说,没有执行重载过程).

我是否需要更改一些配置数据?似乎呼叫没有到达Solr服务器......

Ma'*_*ash 14

尝试使用双引号将URL括在命令中,如下所示:

curl "http://localhost:8983/solr/admin/cores?action=RELOAD&core=mycore"
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助


Jac*_*cob 4

1.尝试使用-A指定User-Agent

curl -A "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)" http://localhost:8983/solr/admin/cores?action=RELOAD\&core=mycore
Run Code Online (Sandbox Code Playgroud)

2.Curl无法执行js脚本

所以要确保不是因为js脚本的原因。

您可以使用chrome或Firebug+Firefox的开发者工具来检查http通信过程。

3.使用wireshark或sth检查是否“呼叫正在到达Solr服务器”。

我希望这有帮助。