【问题标题】:need help solving fatal error exception in Elastic search需要帮助解决弹性搜索中的致命错误异常
【发布时间】:2014-09-05 05:02:35
【问题描述】:

我是 elasticSearch 的新手,请帮帮我。我在php中编写了以下测试代码

<?php
require '../../vendor/autoload.php';
$params = array();
    $params['hosts'] = array (
        'https://localhost',        // SSL to localhost
    );
$params['connectionParams']['auth'] = array(
    'root',
    '',
    'Basic' 
);
    $params1 = array(
        'index'  => 'test_missing',
        'type'   => 'test',
        'id'     => 1,
        'ignore' => 404 
    );
$client = new Elasticsearch\Client($params);
    echo $client->get($params1);

但出现以下致命错误

Fatal error: Uncaught exception 'Elasticsearch\Common\Exceptions\Curl\CouldNotConnectToHost' with message 'Failed connect to localhost:9200; No error' in 
C:\xampp\vendor\elasticsearch\elasticsearch\src\Elasticsearch\Connections\AbstractConnection.php:308 Stack trace: #0 
C:\xampp\vendor\elasticsearch\elasticsearch\src\Elasticsearch\Connections\GuzzleConnection.php(307): Elasticsearch\Connections\AbstractConnection->throwCurlException(7, 'Failed connect ...') #1 
C:\xampp\vendor\elasticsearch\elasticsearch\src\Elasticsearch\Connections\GuzzleConnection.php(197): Elasticsearch\Connections\GuzzleConnection->processCurlError(Object(Guzzle\Http\Exception\CurlException)) #2 
C:\xampp\vendor\elasticsearch\elasticsearch\src\Elasticsearch\Connections\GuzzleConnection.php(104): Elasticsearch\Connections\GuzzleConnection->sendRequest(Object(Guzzle\Http\Message\Request), NULL) #3 
C:\xampp\vendor\elasticsearch\elasticsearch\src\Elasticsearch\Transport.php(166): Elasticsearch\Connections\GuzzleConnection->performRequest('GET', '/test_miss in C:\xampp\vendor\elasticsearch\elasticsearch\src\Elasticsearch\Connections\AbstractConnection.php on line 308

我在 Windows 7 中使用 xampp for php 提前致谢。

【问题讨论】:

  • 您的弹性搜索是否正在运行?
  • 尝试使用 sense 查询并检查它是否工作正常。
  • @Prateek 抱歉,我是新手,你能指出什么是sense
  • 是的,请,正要问同样的问题
  • 在浏览器中输入 localhost:9200 会发生什么?

标签: php exception elasticsearch fatal-error


【解决方案1】:

虽然我没有使用 https,所以我不是 100% 确定这些连接的格式,我这里的代码没有指定 hosts 数组中的协议(我有不同的端口号,所以将它附加到主机,看起来这是可选的,但我还是把它包括在内了):

$params['hosts'] = array('localhost:9200');

除此之外,其余的看起来都还可以。

这个问题也可能有帮助: using https with elasticsearch-php client

【讨论】:

    猜你喜欢
    • 2018-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-12
    • 1970-01-01
    • 2023-04-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多