EsParser使用 SQL 查詢 ElasticSearch
還在為學(xué)習(xí)elasticsearch的api而苦惱嗎?還在為完不成搜索任而煩惱嗎?
EsParser幫你解決上面的問題,它完全可以作為mysql來使用,提高網(wǎng)站的訪問速度,提高項(xiàng)目的開發(fā)效率!
EsParser支持豐富的sql函數(shù),同時(shí)為你的統(tǒng)計(jì)分析帶來飛快的查詢性能!
EsParser
php的操作類庫,通過寫sql來轉(zhuǎn)化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,可以不配置,系統(tǒng)會請求獲取版本,這樣會多一次請求,建議配置一下
);
$parser = new EsParser($sql, true,$es_config);//第三個(gè)參數(shù)是es的配置參數(shù),一定要配置
print_r($parser->result);//打印結(jié)果
//print_r($parser->explain());//打印dsl
普通調(diào)用
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,可以不配置,系統(tǒng)會請求獲取版本,這樣會多一次請求,建議配置一下
);
$parser = new EsParser($sql, true,$es_config);//第三個(gè)參數(shù)是es的配置參數(shù),一定要配置
print_r($parser->result);//打印結(jié)果
//print_r($parser->explain()); //打印dsl
目前支持的sql函數(shù)
* SQL Select * SQL Delete * SQL Update * SQL Where * SQL Order By * SQL Group By * SQL AND & OR * SQL Like * SQL COUNT distinct * SQL In * SQL avg() * SQL count() * SQL max() * SQL min() * SQL sum() * SQL Between * SQL Aliases * SQL concat_ws * SQL DATE_FORMATE
使用注意事項(xiàng)
請?jiān)谂渲庙?xiàng)填寫es的版本,這樣系統(tǒng)不會請求獲取版本,這樣不會多一次請求,建議配置一下
項(xiàng)目地址
github:https://github.com/qieangel2013/EsParser oschina:https://gitee.com/qieangel2013/EsParser
評論
圖片
表情
