是否有必要使用独立的jetty安装来使用php pecl solr扩展?

时间:2012-12-17 07:09:29

标签: php solr jetty pecl

我目前正在solr文件夹的“example”文件夹中运行“start.jar”。 在尝试使用PHP的pecl solr扩展来联系solr时,我在扩展安装中的“php_solr_client.c”文件中遇到异常。 我正在使用SOLR 3.1, 我相信配置是正确的..“主机名” - localhost,端口 - 8983,路径 - '/ solr /'

我可以在“http:// localhost:8983 / solr / admin /”

访问solr admin

我担心的是我的机器没有将8983列为开放端口。这不奇怪吗? ? 这是我的连接配置..

<?php
$options = array
(
 'hostname' => 'localhost',
 'port'     => 8983,
 'path'     => '/solr/'
 );

$client = new SolrClient($options);

$doc = new SolrInputDocument();

$doc->addField('id', 334455);
var_dump($doc->toArray());
try{
$pingresponse   = $client->ping();
$updateResponse = $client->addDocument($doc);
}
catch(Exception $e){
        var_dump($e->getInternalInfo());
}
//print_r($updateResponse->getResponse());
?>

这是我得到的输出。

array (size=3)
  'document_boost' => float 0
  'field_count' => int 1
  'fields' => 
    array (size=1)
      0 => 
        object(SolrDocumentField)[3]
          public 'name' => string 'id' (length=2)
          public 'boost' => float 0
          public 'values' => 
            array (size=1)
              ...

( ! ) Warning: SolrClient::ping(): in /var/www/html/simple/new.php on line 16
Call Stack
#   Time    Memory  Function    Location
1   0.0003  234560  {main}( )   ../new.php:0
2   0.0005  239096  SolrClient->ping( ) ../new.php:16

array (size=3)
  'sourceline' => int 1704
  'sourcefile' => string '/builddir/build/BUILD/php-pecl-solr-1.0.2/solr-1.0.2/php_solr_client.c' (length=70)
  'zif_name' => string 'zim_SolrClient_ping' (length=19)

1 个答案:

答案 0 :(得分:0)

SolrClient并不关心Solr安装的位置或服务方式。您可以定义连接参数in the constructor

如果您在连接时遇到问题,请检查您用于托管Solr的东西的参数,无论是Jetty还是烤土豆,都要与您传递给构造函数的参数匹配。