php-elasticsearch bulk批量插入数据

php使用Elasticsearch批量操作(bulk)

批量插入 ,需要指定id

<?php
include '../vendor/Elasticsearch/autoload.php';
$a['hosts'] = array(
    #需要用户名时 http://user:password@URL:por 其他时候直接写ip:port
    'ip:9200',
);
$client = new \Elasticsearch\Client($a);
#bulk批量生成
$params['index'] = 'article';
$params['type'] = 'test';
for($i = 21; $i <= 30; $i ++) {
    $params['body'][]=array(
        'create' => array( #注意create也可换成index
            '_id'=>$i
        ),
    );
    $params['body'][]=array(
        'aa'=>$i
    );
}
$res = $client->bulk($params);

批量插入, 用默认的id

<?php
include '../vendor/Elasticsearch/autoload.php';
$a['hosts'] = array(
    #需要用户名时 http://user:password@URL:por 其他时候直接写ip:port
    'ip:9200',
);
$client = new \Elasticsearch\Client($a);
#bulk批量生成
for ($i = 41; $i <= 50; $i++) {
    $params['body'][] = array(
        'index' => array(
            '_index' => 'article',
            '_type' => 'test',
        ),
    );

    $params['body'][] = array(
        'aa' => $i,
    );
}
$res = $client->bulk($params);
发表评论

相关文章

猜你喜欢