使用curl重新加载Solr核心

问题描述 投票:0回答:2

我正在尝试通过以下句子重新加载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 服务器...

curl solr reload
2个回答
22
投票

尝试将命令中的 URL 用双引号引起来,如下所示:

curl "http://localhost:8983/solr/admin/cores?action=RELOAD&core=mycore"

希望这有帮助


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

2.Curl无法执行js脚本

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

可以使用chrome或Firebug+Firefox的开发者工具查看http通信进程。

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

希望有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.