如何从命令行确认 Solr 正在运行?

dou*_*ack 6 command-line solr

我们有一些服务器即将重新启动,我可能必须手动重新启动 Apache Solr。

如何(从命令行)验证 Solr 是否正在运行?

use*_*450 10

正确的方法是使用Solr的STATUS命令。您可以解析它的 XML 响应,但只要它返回 HTTP 状态为200的内容,就可以安全地假设它正在运行。您可以使用curl执行HTTP HEAD 请求:

curl -s -o /dev/null -I -w '%{http_code}' http://example.com:8983/solr/admin/cores?action=STATUS
Run Code Online (Sandbox Code Playgroud)
  • -m <seconds>注意:此外,您还可以在命令中添加,以仅等待响应的秒数。

这将向 Solr 管理界面发出请求,并打印出200成功信息,该信息可以从 bash 脚本中使用,例如:

curl -s -o /dev/null -I -w '%{http_code}' http://example.com:8983/solr/admin/cores?action=STATUS
Run Code Online (Sandbox Code Playgroud)