5.elasticsearch-php中索引文档

参考链接

<?php
require 'vendor/autoload.php';
use Monolog\Logger;
use Elasticsearch\ClientBuilder;

$logger = new Logger('name');
$logger->pushHandler(new \Monolog\Handler\StreamHandler('index.log'));
$client = ClientBuilder::create()->setLogger($logger)->build();
// 索引管理
/*$params = [
    'index' => 'my_user',
    'body' => [
        'settings' => [
            'number_of_shards' => 2,
            'number_of_replicas' => 0
        ]
    ]
];*/
// 创建一个索引
//$response = $client->indices()->create($params);
//print_r($response);
// 删除一个索引
//$params = ['index' => 'my_user'];
//$response = $client->indices()->delete($params);
//print_r($response);

// 单一文档索引
// 提供ID值
/*$params = [
    'index' => 'my_user',
    'type' => 'my_user',
    'id' => 'Y000001',
    'body' => [
        'name' => '优圣学堂管理员',
        'staffUser' => 'Y000001',
        'password' => 'korea315',
        'powerPassword' => 'a123456',
        'sex' => '男',
        'birth' => '',
        'timestamp' => time(),
    ]
];*/
//$response = $client->index($params);
//print_r($response);
// 不提供ID值
/*$params = [
    'index' => 'my_user',
    'type' => 'my_user',
    'body' => [
        'name' => '田雨',
        'staffUser' => 'Y000002',
        'password' => '1232031.ty',
        'powerPassword' => '123456',
        'sex' => '男',
        'birth' => '19941023',
        'timestamp' => time(),
    ]
];*/
//$response = $client->index($params);
//print_r($response);

// 批量索引
for ($i = 0; $i < 100; $i++){
    $params['body'][] = [
        'index' => [
            '_index' => 'my_user',
            '_type' => 'my_user',
            '_id' => $i,
        ]
    ];
    $params['body'][] = [
        'name' => '张三',
        'i' => $i,
        'createTime' => date('Y-m-d H:i:s',time()),
    ];
}
print_r($params);
$responses = $client->bulk($params);
print_r($responses);

// 周期性发送
/*for ($i = 1; $i <= 1234567; $i++) {
    $params['body'][] = [
        'index' => [
            '_index' => 'my_user',
            '_type' => 'my_user',
        ]
    ];
    $params['body'][] = [
        'name' => '李四',
        'i' => $i,
        'createTime' => date('Y-m-d H:i:s',time()),
    ];
    if ($i % 1000 == 0) {
        $responses = $client->bulk($params);
        $params = ['body' => []];
        unset($responses);
    }
}
if (!empty($params['body'])) {
    $responses = $client->bulk($params);
}*/

发布了77 篇原创文章 · 获赞 33 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/qq_39337886/article/details/103801573