我正在尝试通过以下句子重新加载Solr核心(版本3.6.0):
curl http://localhost:8983/solr/admin/cores?action=RELOAD\&core=mycore
当我执行它时,我得到以下响应:
<?xml version="1.0" encoding="UTF-8"?>
<response>
<lst name="responseHeader">
<int name="status">0</int>
<int name="QTime">1316</int>
</lst>
</response>
当我在浏览器中输入这样的 URL 时,我得到了类似的响应(区别在于 QTime 的值)。
我的问题是,如果我从浏览器调用 URL,我可以在日志信息中看到执行了重新加载,但是如果我从 CURL 语句调用它,我在日志信息中看不到任何内容(即也就是说,没有执行重新加载过程)。
我需要更改一些配置数据吗?看来调用没有到达 Solr 服务器...
尝试将命令中的 URL 用双引号引起来,如下所示:
curl "http://localhost:8983/solr/admin/cores?action=RELOAD&core=mycore"
希望这有帮助
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
2.Curl无法执行js脚本
所以请确保不是因为js脚本的原因。
可以使用chrome或Firebug+Firefox的开发者工具查看http通信进程。
3.使用wireshark或其他检查是否“呼叫正在到达Solr服务器”。
希望有帮助。