<?php ini_set('memory_limit','3048M'); set_time_limit(0); include './vendor/autoload.php'; define('DS', DIRECTORY_SEPARATOR); defined('APP_PATH') or define('APP_PATH', dirname($_SERVER['SCRIPT_FILENAME']) . DS); defined('ROOT_PATH') or define('ROOT_PATH', dirname(realpath(APP_PATH)) . DS); defined('RUNTIME_PATH') or define('RUNTIME_PATH', ROOT_PATH . 'runtime' . DS); defined('LOG_PATH') or define('LOG_PATH', RUNTIME_PATH . 'log' . DS); define('IS_CLI', PHP_SAPI == 'cli' ? true : false); define('IS_WIN', strpos(PHP_OS, 'WIN') !== false); use Elasticsearch\ClientBuilder; use think\Db; $config = [ // 数据库类型 'type' => 'mysql', // 服务器地址 'hostname' => '127.0.0.1', // 数据库名 'database' => 'tp51111', // 用户名 'username' => 'root', // 密码 'password' => '123456', // 端口 'hostport' => '', // 连接dsn 'dsn' => '', // 数据库连接参数 'params' => [], // 数据库编码默认采用utf8 'charset' => 'utf8', // 数据库表前缀 'prefix' => '', // 数据库调试模式 'debug' => true, // 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器) 'deploy' => 0, // 数据库读写是否分离 主从式有效 'rw_separate' => false, // 读写分离后 主服务器数量 'master_num' => 1, // 指定从服务器序号 'slave_no' => '', // 自动读取主库数据 'read_master' => false, // 是否严格检查字段是否存在 'fields_strict' => true, // 数据集返回类型 'resultset_type' => 'array', // 自动写入时间戳字段 'auto_timestamp' => false, // 时间字段取出后的默认时间格式 'datetime_format' => 'Y-m-d H:i:s', // 是否需要进行SQL性能分析 'sql_explain' => false, ]; $db = Db::connect($config); $logCount = $db->query('select count(document_id) as count from erp_backend_log'); $cc = (int)($logCount[0]['count']/100)+1; $params = ['127.0.0.1:9200']; $client = ClientBuilder::create()->setHosts($params)->build(); $index = 'backend_log'; $type = 'data'; for ($i = 0; $i < $cc; $i++){ $logs = $db->query('select * from erp_backend_log limit '.($i*100).',100'); foreach ($logs as $log){ //del_document($client, $index, $type, $log['document_id']); add_document($client, $index, $type, $log['document_id'], $log); file_put_contents('test_log',$log['document_id'].'已完成'."\r\n",FILE_APPEND); } } function add_document($client, $index, $type, $id, $row) { $params['index'] = $index; $params['type'] = $type; $params['id'] = $id; $params['body'] = $row; return $client->index($params); } function del_document($client, $index, $type, $id) { $delParams['index'] = $index; $delParams['type'] = $type; $delParams['id'] = $id; return $client->delete($delParams); }
本文为看恩吧原创文章,转载无需和我联系,但请注明来自knsay.com