我用elasticsearch-php(http://www.elasticsearch.org/guide/en/elasticsearch/client/php-api/current/)连接到searchly.com时遇到困难
$params = array();
$params['hosts'] = array (
'https://site:{my-key}@balin-eu-west-1.searchly.com:80'
);
$client = new Client($params);
$em = $this->getContainer()->get('doctrine')->getManager();
$movies = $em->getRepository("CineupsWebAppBundle:Movie")
->getTitlesWithSlug();
$params = array('index' => 'movies');
foreach($movies as $movie)
{
$params['body'][] = array(
'title' => $movie['title'],
'titleDe' => $movie['titleDe'],
'slugDe' => $movie['slugDe']
);break;
}
$responses = $client->bulk($params);
通过端口80我得到:
[Elasticsearch\Common\Exceptions\TransportException]
error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol
没有:
[Elasticsearch\Common\Exceptions\Curl\CouldNotConnectToHost]
Failed to connect to balin-eu-west-1.searchly.com port 9200: Connection timed out
尝试使用curl连接(输入新索引)
curl -XPUT http://site:{my-key}@balin-eu-west-1.searchly.com/articles
有用
看来我错过了一些连接设置,但不知道是什么:(
最佳答案
试试:
$params['hosts'] = array (
'http://balin-eu-west-1.searchly.com:80'
);
$params['connectionParams']['auth'] = array(
'site',
'key',
'Basic'
);
$client = new Elasticsearch\Client($params);
另请参阅https://github.com/searchly/searchly-php-sample
关于php - 用于searchly.com的Elasticsearch PHP连接设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27176736/