如何知道solr服务器是否正在运行

时间:2014-03-10 06:33:42

标签: jquery ajax magento solr

我遇到了无法解决的问题。部分是因为我无法用正确的术语来解释它。我是新手,对这个笨拙的问题感到抱歉。

您可以在下面看到我的目标概述。

我正在使用Magento CE 1.7.0.2& Solr 4.6.0。

var url1 ="http://127.0.0.1:8080/solr/select?q=iphon&wt=json&json.wrf=?";
$.getJSON(url1,function(result){
   // my logic 
});

当Solr服务器运行时意味着此脚本工作正常。但如果我的Solr服务器未运行意味着它将无法正常工作。

但我的目标是像这样编写这个脚本......

if( Solr Server is Running){
   var url1 ="http://127.0.0.1:8080/solr/select?q=iphon&wt=json&json.wrf=?";
   $.getJSON(url1,function(result){
      // my logic-1
   });
}else{
   // my logic-2
}

那我怎么知道Solr Server是否正在运行?

&安培;我知道这是重复的问题,但我从未找到解决方案,所以请忽略它。

任何想法?

4 个答案:

答案 0 :(得分:0)

不知道SOLR是如何工作的,但正确的jQuery将是:

$.ajax({
    type: "GET",
    url: "http://127.0.0.1:8080/solr/select?q=iphon&wt=json&json.wrf=?",
    dataType: "json",
    success: function (result) {
        // is working
    },
    error: function (result) {
        // probably not
    }
});

答案 1 :(得分:0)

在尝试连接之前使用setTimeout。如果您成功使用clearTimeout。如果你不在setTimeout-time内,你可以做你已经定义的setTimeout来做。

答案 2 :(得分:0)

您可以使用内置的Solr Ping处理程序:

http://hostname:port/solr/admin/ping

这将为您提供所需的信息。

的Si

答案 3 :(得分:0)

<?php 
       $solr = new Apache_Solr_Service( 'HOST', 'PORT NUM', '/solr' );
       if ( $solr->ping() ) {
          // APACHE SOLR SERVER IS RUNNING 
       }else{
          // APACHE SOLR SERVER IS NOT RUNNING
       }
?>

我希望它能用于某个人。