0

我目前只是在 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)
4

1 回答 1

0

SolrClient不在乎您的 Solr 安装在哪里或提供什么服务。您可以在构造函数中定义连接参数。

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

于 2012-12-17T07:14:14.343 回答