首页 > Web开发 > 详细

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

时间:2014-01-27 17:09:52      阅读:551      评论:0      收藏:0      [点我收藏+]
bubuko.com,布布扣
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);//自定义延迟
}
bubuko.com,布布扣

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

原文:http://www.cnblogs.com/wenzhilin/p/3534700.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!