Elasticsearch PHP 连接设置 searchly.com


Elasticsearch PHP connection settings for searchly.com

我很难用 elasticsearch-php 连接到 searchly.com (http://www.elasticsearch.org/guide/en/elasticsearch/client/php-api/current/)

$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