无论才能、知识多么卓著,如果缺乏热情,则无异纸上画饼充饥,无补于事。

php的操作类库,通过写sql来转化dsl来查询elasticsearch

qieangel2013 发表了文章 • 1 个评论 • 5431 次浏览 • 2018-03-21 15:44 • 来自相关话题

EsParser

php的操作类库,通过写sql来转化dsl来查询elasticsearch

composer使用

{<br />
    "require": {<br />
        "qieangel2013/esparser": "dev-master"<br />
    }<br />
}<br />
composer install<br />
require __DIR__.'/vendor/autoload.php';<br />
$sql = 'select * from alp_dish_sales_saas where sid in(994,290) limit 1,10';<br />
//$sql='update alp_dish_sales_saas set mid=3  where adsid=15125110';<br />
//$sql='delete from alp_dish_sales_saas where adsid=15546509';<br />
$es_config=array(<br />
    'index' =>"alp_dish_sales_saas",<br />
    'type'  =>"alp_dish_sales_saas",<br />
    'url'   =>"<a href="http://127.0.0.1:9200"" rel="nofollow" target="_blank">http://127.0.0.1:9200"</a>,<br />
    'version' =>"5.x" //1.x 2.x 5.x 6.x,可以不配置,系统会请求获取版本,这样会多一次请求,建议配置一下<br />
 );<br />
$parser = new EsParser($sql, true,$es_config);//第三个参数是es的配置参数,一定要配置<br />
print_r($parser->result);//打印结果<br />
//print_r($parser->explain());//打印dsl<br />

普通调用

require_once dirname(__FILE__) . '/src/library/EsParser.php';<br />
$sql = 'select * from alp_dish_sales_saas where sid in(994,290) limit 1,10';<br />
//$sql='update alp_dish_sales_saas set mid=3  where adsid=15125110';<br />
//$sql='delete from alp_dish_sales_saas where adsid=15546509';<br />
$es_config=array(<br />
        'index' =>"alp_dish_sales_saas",<br />
        'type'  =>"alp_dish_sales_saas",<br />
        'url'   =>"<a href="http://127.0.0.1:9200"" rel="nofollow" target="_blank">http://127.0.0.1:9200"</a>,<br />
        'version' =>"5.x" //1.x 2.x 5.x 6.x,可以不配置,系统会请求获取版本,这样会多一次请求,建议配置一下<br />
    );<br />
$parser = new EsParser($sql, true,$es_config);//第三个参数是es的配置参数,一定要配置<br />
print_r($parser->result);//打印结果<br />
//print_r($parser->explain()); //打印dsl<br />

目前支持的sql函数

*  SQL Select<br />
*  SQL Delete<br />
*  SQL Update<br />
*  SQL Where<br />
*  SQL Order By<br />
*  SQL Group By<br />
*  SQL AND & OR <br />
*  SQL Like<br />
*  SQL COUNT distinct<br />
*  SQL In<br />
*  SQL avg()<br />
*  SQL count()<br />
*  SQL max()<br />
*  SQL min()<br />
*  SQL sum()<br />
*  SQL Between<br />
*  SQL Aliases<br />

使用注意事项

请在配置项填写es的版本,这样系统不会请求获取版本,这样不会多一次请求,建议配置一下<br />

交流使用

qq群:578276199<br />

项目地址

github:<a href="https://github.com/qieangel2013/EsParser" rel="nofollow" target="_blank">https://github.com/qieangel2013/EsParser</a><br />
oschina:<a href="https://gitee.com/qieangel2013/EsParser" rel="nofollow" target="_blank">https://gitee.com/qieangel2013/EsParser</a><br />

关于elasticsearch测试工具rally启动失败

clean 回复了问题 • 3 人关注 • 3 个回复 • 7884 次浏览 • 2018-03-21 13:32 • 来自相关话题

ES 现在有接近5亿条数据,再使用python的helpers.bulk导入数据变得非常慢?

rochy 回复了问题 • 9 人关注 • 4 个回复 • 8910 次浏览 • 2018-03-21 13:20 • 来自相关话题

求集群规划意见.

rochy 回复了问题 • 4 人关注 • 2 个回复 • 2296 次浏览 • 2018-03-21 13:13 • 来自相关话题

es 日志集群,写速度慢

famoss 回复了问题 • 6 人关注 • 3 个回复 • 5052 次浏览 • 2018-03-21 09:51 • 来自相关话题

x-pack 商用收费吗?

rockybean 回复了问题 • 6 人关注 • 5 个回复 • 28740 次浏览 • 2018-03-21 08:44 • 来自相关话题

es 性能监控如何做?

code4j 回复了问题 • 6 人关注 • 3 个回复 • 4495 次浏览 • 2018-03-20 18:51 • 来自相关话题

elasticsearch 怎么在结果集上去过滤

laoyang360 回复了问题 • 3 人关注 • 1 个回复 • 2210 次浏览 • 2018-03-20 18:41 • 来自相关话题

elasticsearch docker 拉取问题

回复

zhushaolong 回复了问题 • 1 人关注 • 1 个回复 • 6706 次浏览 • 2018-03-20 11:55 • 来自相关话题

elasticsearch3台机器怎么样做集群比较合适呢

laoyang360 回复了问题 • 3 人关注 • 1 个回复 • 2078 次浏览 • 2018-03-19 23:18 • 来自相关话题

关系型数据库如何移植到elasticsearch数据库

laoyang360 回复了问题 • 2 人关注 • 1 个回复 • 2317 次浏览 • 2018-03-19 18:54 • 来自相关话题

elasticsearch高亮检索

laoyang360 回复了问题 • 3 人关注 • 3 个回复 • 2014 次浏览 • 2018-03-19 18:49 • 来自相关话题

es集群脑裂问题

code4j 回复了问题 • 2 人关注 • 1 个回复 • 4104 次浏览 • 2018-03-19 17:41 • 来自相关话题

es能够根据min_bucket的value的值对聚合结果进行排序吗?

回复

jacky_wang 发起了问题 • 2 人关注 • 0 个回复 • 1821 次浏览 • 2018-03-19 16:56 • 来自相关话题

使用Helper.bulk导入json数据时,指定了文档id,会丢数据,试了很多方法都没有用

正道 回复了问题 • 2 人关注 • 2 个回复 • 4545 次浏览 • 2018-03-19 16:35 • 来自相关话题