php操作es7.0基本操作(增删改查,实现es索引type id增)本人用来做日志记录

本文介绍了Elasticsearch不支持内置ID自增功能,并警告了通过代码实现该功能可能导致ES性能下降,尤其是在处理大量日志时。提供了一段PHP代码示例,展示如何创建、删除索引、查询索引存在性、获取索引结构以及存取数据。同时,讨论了利用索引类型总数计算ID的自增策略,但强调这种方式可能增加ES压力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先说明一点,es本身是不具有id自增的功能,我们可以通过代码去实现它。但是,非常不建议这样做,这样会造成es的压力过大,如果记录的是日志的话,很容易挂掉。

上代码

$client = ClientBuilder::create()
            ->setHosts(['10.254.19.179:9200'])
            ->build();

//创建索引 
$params = [
            'index' => 'test_index',
            'type' => 'test_type',
            'body' => []
];
return $client->index($params);

//删除索引
$params = ['index' => 'test_index'];
return $client->indices()->delete($params);

//查询索引是否存在
$params = ['index' => 'test_index'];
return $client->indices()->exists($params);

//获取索引结构
$params = ['index' => 'test_index'];
return $client->indices()->get($params);

//存数据
$params = [
           'index' => 'test_index',
           'type' => 'test_type',
           'id' => 1,
           'body' => [
                'name' => 'fanbin',
                'sex'  => 1,
                'age'  => 18
            ]
];
return $client->indices()->delete($params);

//查询索引下的type下的总条数
$params = ['index' => 'test_index', 'type' => 'test_type'];
return $client->count($params);

//利用type总数计算数据id 实现id自增
$params = ['index' => 'test_index'];
 $result = $client->indices()->exists($param);
        $param['type'] = $tableName;
        if (!$result) {
            $param['body'] = [];
            //创建索引
            $client->index($param);
        }
        $param['id'] = $client->count($param)['count'];
        if (!$param['id']) {
            $param['id'] = 1;
        }
$param['body'] = [
            'name'    => 'test_name',
            'sex' => 1,
            'age' => 10
        ];


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值