Elasticsearch 使用 php curl 插入数据

<?php
/**
 * Created by PhpStorm.
 * User: func7
 * Date: 2018/11/8
 * Time: 11:24
 */
set_time_limit(0);
header("Content-type: text/html; charset=utf-8");

$dbhost     = "127.0.0.1";
$username   = "test";
$userpass   = "testadmin";
$dbdatabase = "test";

$db_con = mysqli_connect($dbhost, $username, $userpass) or die("Unable to connect to the MySQL!");
//选择一个需要操作的数据库
$db_con->query("SET NAMES utf8");
mysqli_select_db($db_con, $dbdatabase);
/***********连接数据库****end******/
//应用查询及处理数据
$sqlData = mysqli_query($db_con, "SELECT
    a.id AS _id,
    a.id,
    a.NAME,
    a.STATUS,
    a.state,
    a.package,
    atype_id,
IF
    ( b.rank = 3, 3, 1 ) AS rank,
IF
    ( channel_type & 2 = 2, 0, 1 ) AS `show` 
FROM
    apps AS a
    LEFT JOIN apps_rank AS b ON a.id = b.app_id 
WHERE
    a.id >1
    AND a.id <=12000
     ");
//提取数据
$Esdata  = array();$cl      = curl_init();
curl_setopt($cl, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
curl_setopt($cl, CURLOPT_PORT, 9200);
curl_setopt($cl, CURLOPT_TIMEOUT, 2000);
curl_setopt($cl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($cl, CURLOPT_FORBID_REUSE, 0);
curl_setopt($cl, CURLOPT_CUSTOMREQUEST, 'PUT'); //GET 获取 // DELETE 删除 //PUT 插入
if ($sqlData) {
    while ($dataRow = mysqli_fetch_assoc($sqlData)) {
        $Esdata['id']       = intval($dataRow['id']);
        $Esdata['name']     = $dataRow['NAME'];
        $Esdata['package']  = $dataRow['package'];
        $Esdata['state']    = intval($dataRow['state']);
        $Esdata['status']   = intval($dataRow['STATUS']);
        $Esdata['atype_id'] = intval($dataRow['atype_id']);
        $Esdata['rank']     = intval($dataRow['rank']);
        $Esdata['show']     = intval($dataRow['show']);
        $jsonStr            = json_encode($Esdata, JSON_UNESCAPED_UNICODE);
        //修改二,设置es导入
        $baseUri = 'http://localhost:9200/test/test_type/' . $Esdata['id'];
        curl_setopt($cl, CURLOPT_URL, $baseUri);
        curl_setopt($cl, CURLOPT_POSTFIELDS, $jsonStr);
        $response = curl_exec($cl);
    }
}
unset($Esdatas);//销毁数组
file_put_contents('log.log',$response);
curl_close($cl); usleep(50000);//自定义延迟

Elasticsearch的增删改查操作 在使用curl的时候可以修改

curl_setopt($cl, CURLOPT_CUSTOMREQUEST, 'PUT'); //GET 获取 // DELETE 删除 //PUT 插入

 

转载于:https://www.cnblogs.com/wjm956/p/9929041.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值