【问题标题】:Using Solr with PHP将 Solr 与 PHP 一起使用
【发布时间】:2012-12-16 11:38:36
【问题描述】:

我正在尝试将 solr 与 php 一起使用。我已经配置了我的 solr 应用程序,它工作正常。但是我无法使用 php 与 solr 进行通信。我尝试了许多扩展:pecl-solr、solr-php-client 和 Solarium。然而,没有人能够 ping 我的 solr 服务器。所有这一切,而我的 solr 服务器在 localhost:8080/solr 可用。我正在使用 tomcat 在 Windows 上运行它。 (通过 php ping 时,我一直检查我的 tomcat 和 solr 服务,它们已启动并运行)

我认为我在这里做了一些非常基本的错误。我的 solr 应用程序是否需要在 xampp 的 htdocs 中?因为我将它放在我的 tomcat 服务器的 webapps 文件夹中。我真的不明白它会如何产生影响,因为我专门提供了在 solr-php-client 中 ping 的路径,如下所示:

 require_once( 'Apache/Solr/service.php' );


 $solr = new Apache_Solr_Service( 'localhost', '8080', '/solr' );
  var_dump($solr) ; 
  if ( ! $solr->ping() ) {
     echo 'Solr service not responding.';
      exit;
    }

我在运行此代码时收到“Solr 服务未响应”消息。有什么建议吗?

更新:我在后台查看,发现为了获取内容,使用了以下 php 函数:file_get_contents 我进一步了解到,当文件通过 URI 定位时,它可能会失败,因为许多服务器出于安全考虑阻止了此命令。 xampp 也是这样吗?在我的本地机器上运行是?

【问题讨论】:

  • 视窗。我认为这可能与这个问题有关:stackoverflow.com/questions/12350606/…,因为我刚刚观察到当我尝试以下操作时会引发错误:localhost:8080/solr/admin/ping。请求处理程序似乎有些问题
  • 尝试使用 PHP 内置的curl HTTP 客户端;根据您的设置,可能需要启用。这行得通吗?
  • 我启用了 curl 。但是我并不精通它。你能推荐一些代码来使用和使用 curl 进行测试吗?
  • 我设法使用 curl 计算出响应。有关问题,请参阅我的编辑。还有一种方法可以将 curl 响应作为 xml 而不是作为长字符串获取?

标签: php apache tomcat solr


【解决方案1】:

试试这个,我希望它对你有帮助,并且对我有用。

$solr = new Apache_Solr_Service( 'localhost', '8080', '/solr' );
  var_dump($solr) ; 
  if ( $solr->ping() ) {
     echo 'Solr Server Responding.';
      // your code
    }else{
      echo "Solr Server is not Running";
    }

从您的代码中删除 require_once( 'Apache/Solr/service.php' ); 这个。

【讨论】:

    【解决方案2】:

    由于您没有提及您的核心名称,您无法 ping 您的 solr 服务器。

    require_once('Apache/Solr/Service.php');
    $solr = new Apache_Solr_Service( 'localhost', '8080', '/solr/CORE_NAME' 
     );
    var_dump($solr) ;
    if ( ! $solr->ping() ) {
     echo 'Solr service not responding.';
      exit;
    }
    

    你只需要添加核心名称

    $solr = new Apache_Solr_Service( 'localhost', '8080', '/solr/CORE_NAME');
    

    一旦您传递了您创建的核心名称,它将开始为您工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-04
      • 2018-06-21
      • 2013-02-26
      • 2016-01-30
      • 1970-01-01
      • 1970-01-01
      • 2011-09-17
      • 2016-03-08
      相关资源
      最近更新 更多