Настройки соединения Elasticsearch PHP для searchly.com

0

У меня возникают трудности с подключением к searchly.com с помощью elasticsearch-php (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

оно работает

Кажется, что я пропускаю некоторые настройки для подключения, но не знаю, что :(

Теги:
elasticsearch
elastica

1 ответ

1
Лучший ответ

Попробуйте:

$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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню