使用Yii 2.0的Elasticsearch:错误:Elasticsearch请求失败:7 - 无法连接到##。##。##。### port 9200:连接被拒绝

时间:2015-03-22 21:19:07

标签: elasticsearch yii2

我在服务器上正确配置了Elasticsearch。我可以使用cURL从命令行执行所有操作。我甚至可以使用来自Yii外部的PHP脚本的cURL连接到它。但是,我似乎无法在Yii 2.0中使用它。

在我的配置中,我有:

'elasticsearch' => [
            'class' => 'yii\elasticsearch\Connection',
            'nodes' => [
                ['http_address' => 'localhost:9200'],
                // configure more hosts if you have a cluster
            ],
        ],

但是当我尝试在Yii中进行简单查询时,我收到此错误。请注意它是如何使用我的服务器IP地址而不是' localhost'或者' 172.0.0.1'。注意:我已经删除了我的IP地址以确保安全。

Elasticsearch Database Exception – yii\elasticsearch\Exception
Elasticsearch request failed: 7 - Failed to connect to ##.##.##.### port 9200: Connection refused
Error Info: Array
(
    [requestMethod] => GET
    [requestUrl] => http://##.##.##.###:9200/profiles/profile/_search
    [requestBody] => {"size":100,"query":{"match_all":{}}}
    [responseHeaders] => Array
        (
        )
    [responseBody] => 
)

2 个答案:

答案 0 :(得分:0)

我能够通过将Elasticsearch的版本更新为某些内容来修复此错误> 1.3.0因为这是YIISOFT / YII2-ELASTICSEARCH的最低要求

运行curl -X GET 'http://127.0.0.1:9200'以查看您正在运行的版本。

答案 1 :(得分:0)

首先按照以下步骤下载弹性搜索。

wget https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.5.2.tar.gz
mkdir es
tar -xf elasticsearch-1.5.2.tar.gz -C es
cd es
./bin/elasticsearch

然后你必须能够访问localhost:9200并得到以下内容:

{
  "name" : "Sigyn",
  "cluster_name" : "elasticsearch",
  "version" : {
    "number" : "2.4.0",
    "build_hash" : "ce9f0c7394dee074091dd1bc4e9469251181fc55",
    "build_timestamp" : "2016-08-29T09:14:17Z",
    "build_snapshot" : false,
    "lucene_version" : "5.5.2"
  },
  "tagline" : "You Know, for Search"
}

然后,按照https://github.com/yiisoft/yii2-elasticsearch中的说明进行操作。然后你就完成了