可用的简单的稳定的php导数据至elasticsearch代码

set_time_limit(0);
include "db.php";
/**
* 导入需要耐心
*/
for($i=0;$i<5000;$i++){//循环导入的数据为5000*1000条 500W条,如果你数据大于此值,请自行修改
    $d = new db();
    $j=$i*1000;
    $r = $d->fields("*")->table("cmailbox")->limit("$j , 1000")->lookDatas();//修改一,获取数组
    unset($d);//销毁对象

    $ci = curl_init();
    curl_setopt($ci, CURLOPT_PORT, 9200);
    curl_setopt($ci, CURLOPT_TIMEOUT, 2000);
    curl_setopt($ci, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ci, CURLOPT_FORBID_REUSE, 0);
    curl_setopt($ci, CURLOPT_CUSTOMREQUEST, 'PUT');    
    
    foreach($r as $notice){
        $notice['sendname'] = iconv('gbk','utf-8',$notice['sendname']); 
        $notice['job'] = iconv('gbk','utf-8',$notice['job']); 
        $notice['cname'] = iconv('gbk','utf-8',$notice['cname']); 
        $notice['person_yuex'] = iconv('gbk','utf-8',$notice['person_yuex']); 
        $notice['username'] = iconv('gbk','utf-8',$notice['username']);
        $json_doc = json_encode($notice); 
        $baseUri = 'http://127.0.0.1/job9527/cmailbox/'.$notice['id'].rand(1,9999);    //修改二,设置es导入
        curl_setopt($ci, CURLOPT_URL, $baseUri);
        curl_setopt($ci, CURLOPT_POSTFIELDS, $json_doc);
        $response = curl_exec($ci);
    }
    unset($r);//销毁数组    
    //echo $response ,"<br>";
    curl_close($ci);
    usleep(50000);//自定义延迟
}

 

转载于:https://www.cnblogs.com/wenzhilin/p/3534700.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值