Отправить массив или объект из php в Elasticsearch

Я хочу отправить массив данных (если это невозможно сделать с массивами, я не против преобразовать его в объект) в мой индекс Elasticsearch. Раньше я отправлял свой массив в базу данных в MySQL, а затем загружал его в Elasticsearch с помощью logstash.
Мне больше не нужна база данных, поэтому я надеялся сделать это без нее, но я не смог найти хорошую документацию / примеры для этого в PHP. Любая помощь приветствуется.

Вот как я генерирую массив ($ values ​​[]), он имеет 3 параметра $ exec_time (десятичное число), $ name (текст) и $ date (datetime):

for($i=0; $i<50;++$i){

$date = date('Y-m-d H:i:s');

if($name == "local")
$i = $i + 4;

$ch = $_SESSION['cURL'];
$time_pre = microtime(true);
$data = curl_exec($ch);
$time_pro = microtime(true);
$exec_time = $time_pro - $time_pre;

$values[$i] = "('$exec_time', '$name', '$date')";
}

0

Решение

Вы можете использовать elasticsearch-PHP, официальный PHP-клиент для Elasticsearch.
(См. документация).

Вот еще один способ сделать это, используя только curl:

use Curl\Curl; // composer require php-curl-class/php-curl-class

$curl = new Curl();
$curl->setHeader('Content-Type', 'application/json');
$response = $curl->post('http://127.0.0.1:9200/index/type', array(
'exec_time' => ...
'name' => ...
'date' => ...
));
$curl->close();
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]