EsParser
Библиотека классов для работы с PHP, которая позволяет преобразовывать DSL в запросы Elasticsearch через написание SQL.
{
"require": {
"qieangel2013/esparser": "dev-master"
}
}
Затем выполните команды:
После этого можно использовать библиотеку.
$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 ';
$sql="insert into test(`id`,`name`)values(9,'zz')";
$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 ';
$sql="insert into test(`id`,`name`)values(9,'zz')";
$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:
Использование
Пожалуйста, настройте версию ES в параметрах конфигурации, чтобы избежать дополнительного запроса на получение версии. Рекомендуется настроить этот параметр.
Контакты
QQ группа: 578276199.
GitHub: https://github.com/qieangel2013/EsParser.
OSChina: https://gitee.com/qieangel2013/EsParser.
Если вы поддерживаете мою работу, пожалуйста, сделайте пожертвование. Ваше пожертвование — моя главная мотивация.

Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )