内容简介:EsParser 是 PHP 的操作类库,通过写 sql 来转化 dsl 来查询 Elasticsearch,特点是开箱即用、高性能查询 ,目前1.4 已发布,更新如下: 更新支持深度分页scroll特性 更新新的底层算法 修复其他bug EsParser php的...
EsParser 是 PHP 的操作类库,通过写 sql 来转化 dsl 来查询 Elasticsearch,特点是开箱即用、高性能查询 ,目前1.4 已发布,更新如下:
更新支持深度分页scroll特性
更新新的底层算法
修复其他bug
EsParser
php的操作类库,通过写sql来转化dsl来查询elasticsearch
composer使用
{
"require": {
"qieangel2013/esparser": "dev-master"
}
}
composer install
require __DIR__.'/vendor/autoload.php';
//$sql = 'select * from alp_dish_sales_saas where sid in(994,290) limit 1,10';
//$sql='update alp_dish_sales_saas set mid=3 where adsid=15125110';
//$sql='delete from alp_dish_sales_saas where adsid=15546509';
//$sql="select *,concat_ws('_',category_name.keyword,dish_name.keyword,sku_name.keyword) as dfg from alp_dish_sales_saas where sale_date>'2017-01-01' and sale_date<'2017-09-02' group by dfg order by total_count desc";
$sql = 'select *,DATE_FORMAT(sale_date,"%Y-%m-%d") as days from alp_dish_sales_saas group by days ';
$es_config=array(
'index' =>"alp_dish_sales_saas",
'type' =>"alp_dish_sales_saas",
'url' =>"http://127.0.0.1:9200",
'version' =>"5.x" //1.x 2.x 5.x 6.x,可以不配置,系统会请求获取版本,这样会多一次请求,建议配置一下
);
$parser = new EsParser($sql, true,$es_config);//第三个参数是es的配置参数,一定要配置
print_r($parser->build());//打印结果
$result=$parser->scroll();//深度分页初始化会返回第一条
$result=json_decode($result,true);
print_r($result);//打印深度分页结果
$result1=$parser->scroll($result['scrollid']);//深度分页下一页
print_r(json_decode($result1,true));//打印深度分页结果
$result2=$parser->scroll($result['scrollid']);//深度分页下一页
print_r(json_decode($result2,true));//打印深度分页结果
$result3=$parser->scroll($result['scrollid']);//深度分页下一页
print_r(json_decode($result3,true));//打印深度分页结果
//print_r($parser->explain());//打印dsl普通调用
require_once dirname(__FILE__) . '/src/library/EsParser.php';
//$sql = 'select * from alp_dish_sales_saas where sid in(994,290) limit 1,10';
//$sql='update alp_dish_sales_saas set mid=3 where adsid=15125110';
//$sql='delete from alp_dish_sales_saas where adsid=15546509';
//$sql="select *,concat_ws('_',category_name.keyword,dish_name.keyword,sku_name.keyword) as dfg from alp_dish_sales_saas where sale_date>'2017-01-01' and sale_date<'2017-09-02' group by dfg order by total_count desc";
$sql = 'select *,DATE_FORMAT(sale_date,"%Y-%m-%d") as days from alp_dish_sales_saas group by days ';
$es_config=array(
'index' =>"alp_dish_sales_saas",
'type' =>"alp_dish_sales_saas",
'url' =>"http://127.0.0.1:9200",
'version' =>"5.x" //1.x 2.x 5.x 6.x,可以不配置,系统会请求获取版本,这样会多一次请求,建议配置一下
);
$parser = new EsParser($sql, true,$es_config);//第三个参数是es的配置参数,一定要配置
print_r($parser->build());//打印结果
$result=$parser->scroll();//深度分页初始化会返回第一条
$result=json_decode($result,true);
print_r($result);//打印深度分页结果
$result1=$parser->scroll($result['scrollid']);//深度分页下一页
print_r(json_decode($result1,true));//打印深度分页结果
$result2=$parser->scroll($result['scrollid']);//深度分页下一页
print_r(json_decode($result2,true));//打印深度分页结果
$result3=$parser->scroll($result['scrollid']);//深度分页下一页
print_r(json_decode($result3,true));//打印深度分页结果
//print_r($parser->explain()); //打印dsl目前支持的sql函数
* SQL Select * SQL Delete * SQL Update * SQL Where * SQL Order By * SQL Group By * SQL AND * SQL OR (多重or如:((a=1 and b=2) or (c=3 and d=4)) and e=5) * SQL Like * SQL Not Like * SQL Is NULL * SQL Is Not NULL * SQL COUNT distinct * SQL In * SQL Not In * SQL = * SQL != * SQL <> * SQL avg() * SQL count() * SQL max() * SQL min() * SQL sum() * SQL Between * SQL Aliases * SQL concat_ws * SQL DATE_FORMATE * SQL Having
使用注意事项
请在配置项填写es的版本,这样系统不会请求获取版本,这样不会多一次请求,建议配置一下
交流使用
qq群:578276199
项目地址
github:https://github.com/qieangel2013/EsParser oschina:https://gitee.com/qieangel2013/EsParser
【声明】文章转载自:开源中国社区 [http://www.oschina.net]
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- EsParser 1.1 发布,开箱即用,高性能查询 Elasticsearch
- EsParser 1.3 发布,开箱即用,高性能查询 Elasticsearch
- EsParser 1.5 发布,开箱即用、高性能查询 Elasticsearch
- Elasticsearch 开箱指南
- Elasticsearch 开箱指南
- Java 14 开箱,它真香香香香
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
高性能网站建设指南(第二版)
Steve Souders / 刘彦博 / 电子工业出版社 / 2015-5 / 55.00元
《高性能网站建设指南:前端工程师技能精髓》结合Web 2.0以来Web开发领域的最新形势和特点,介绍了网站性能问题的现状、产生的原因,以及改善或解决性能问题的原则、技术技巧和最佳实践。重点关注网页的行为特征,阐释优化Ajax、CSS、JavaScript、Flash和图片处理等要素的技术,全面涵盖浏览器端性能问题的方方面面。在《高性能网站建设指南:前端工程师技能精髓》中,作者给出了14条具体的优化......一起来看看 《高性能网站建设指南(第二版)》 这本书的介绍吧!