我在服务器上正确配置了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] =>
)
答案 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中的说明进行操作。然后你就完成了