<?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 插入

Elasticsearch 使用 php curl 插入数据的更多相关文章

  1. Elasticsearch PUT 插入数据

    { "error": { "root_cause": [ { "type": "illegal_argument_exceptio ...

  2. elasticsearch REST API方式批量插入数据

    elasticsearch REST API方式批量插入数据 1:ES的服务地址  http://127.0.0.1:9600/_bulk 2:请求的数据体,注意数据的最后一行记得加换行 { &quo ...

  3. python批量插入数据到es和读取es数据

    一.插入数据 1.首先准备类似如下数据 {"_type": "type1", "_id": 1, "_index": & ...

  4. elasticsearch 5.x 系列之五 数据导入导出

    一.首先给大家发一个福利,分享一个elasticsearch 数据导出工具. esm github 源码地址: https://github.com/medcl/esm 下载编译好的对应elastic ...

  5. 在ES批量插入数据超时时自动重试

    当我们使用ES批量插入数据的时候,一般会这样写代码: from elasticsearch import Elasticsearch,helpers es =Elasticsearch(hosts=[ ...

  6. 数据库插入数据返回当前主键ID值方法

    当我们插入一条数据的时候,我们很多时候都想立刻获取当前插入的主键值返回以做它用.我们通常的做法有如下几种: 1. 先 select max(id) +1 ,然后将+1后的值作为主键插入数据库: 2. ...

  7. C#批量插入数据到Sqlserver中的四种方式

    我的新书ASP.NET MVC企业级实战预计明年2月份出版,感谢大家关注! 本篇,我将来讲解一下在Sqlserver中批量插入数据. 先创建一个用来测试的数据库和表,为了让插入数据更快,表中主键采用的 ...

  8. mysql 插入数据失败防止自增长主键增长的方法

    mysql设置了自增长主键ID,插入失败的那个自增长ID也加一的,比如失败5个,下一个成功的不是在原来最后成功数据加1,而是直接变成加6了,失败次数一次就自动增长1了,能不能让失败的不增长的? 或者说 ...

  9. jdbc java数据库连接 7)获取插入数据的自增长值

    我们创建一个sql表,里面的数据往往都会有自增长值. 那么,我们用jdbc插入数据的时候,要想同时获得这个增长值. 代码: /** * * 这是插入一条数据的同时,获取该数据的则增长列的值(该例子的自 ...

随机推荐

  1. AppBoxFuture(八): 另类的ORM实现

      通常的ORM实现基于配置或注释,由反射或Emit生成相应的Sql语句,然后将Sql发送给数据库解析Sql字符串生成AST再交给优化器处理后执行,返回的数据再经由反射或Emit转换为相应的实体实例. ...

  2. Web基础--JavaScript入门

    一.JavaScript 1.什么是JavaScript(JS) (1)JavaScript是嵌入HTML中的代码,在浏览器中执行的脚本语言,具有与Java和C语言类似的语法.(2)一种网页编程技术, ...

  3. SQL Server中的LEFT、RIGHT函数

    SQL Server中的LEFT.RIGHT函数. LEFT:返回字符串中从左边开始指定个数字符. LEFT(character_expression,integer_expression); RIG ...

  4. xml解析-jaxp删除结点

    jaxp删除结点 / 删除sex结点 * 1.创建解析器工厂 * 2.根据解析器工厂创建解析器 * 3.解析xml返回document * * 4.得到sex结点 * 5.得到sex的父节点 getP ...

  5. SQL 注入漏洞浅研究学习

    SQL注入漏洞:Web安全方面最高危的漏洞,SQL漏洞威胁着网站后台数据的安全问题. 网上常说“万能密码”,这个万能密码则就是利用了SQL注入漏洞: ' or 1=1 -- 上述的万能密码输入在用户登 ...

  6. 基于file上传文件的并发上传(多个文件一起上传到后台并把数据存储的同一条数据中,如 数据库字段videopath,imge。前台发送来的文件file1,file2。 videopath=file1,imge=file2)

    前台代码: <div class="tab-content"> <dl> <dt>所属栏目</dt> <dd> < ...

  7. 【LeetCode】198. 打家劫舍

    打家劫舍 你是一个专业的小偷,计划偷窃沿街的房屋.每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警. 给定 ...

  8. [20190530]oracle Audit文件管理.txt

    [20190530]oracle Audit文件管理.txt --//昨天听课,讲一些oracle相关安全的问题,对方提到audit file的管理,应该引入OS audit,这样目的是仅仅root查 ...

  9. .htaccess设置301跳转及常用技巧整理

    在虚拟主机环境中,基本上都是Apache环境.Apache的伪静态的设置,都是在网站根目录设置.htaccess文件,在.htaccess文件中无论是伪静态, 还是301跳转,甚至是防盗链和禁止某个I ...

  10. 远程控制服务(SSH)之Windows远程登陆Linux主机

    本篇blog同样介绍两种方式进行. 首先进行准备工作: 1.所用到的工具如下: (1)     装有Linux系统的VMware虚拟机*1 (2)     终端连接工具Xshell 6 2.将Wind ...