1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/qieangel2013-EsParser

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

EsParser

Библиотека классов для работы с PHP, которая позволяет преобразовывать DSL в запросы Elasticsearch через написание SQL.

Использование 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 ';
$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:

  1. SQL Insert.
  2. SQL Select.
  3. SQL Delete.
  4. SQL Update.
  5. SQL Where.
  6. SQL Order By.
  7. SQL Group By.
  8. SQL AND.
  9. SQL OR (например, ((a=1 and b=2) or (c=3 and d=4)) and e=5).
  10. SQL Like.
  11. SQL Not Like.
  12. SQL Is NULL.
  13. SQL Is Not NULL.
  14. SQL COUNT distinct.
  15. SQL In.
  16. SQL Not In.
  17. SQL =.
  18. SQL !=.
  19. SQL <>
  20. SQL avg().
  21. SQL count().
  22. SQL max().
  23. SQL min().
  24. SQL sum().
  25. SQL Between.
  26. SQL Aliases.
  27. SQL concat_ws.
  28. SQL DATE_FORMATE.
  29. SQL Having.

Использование

Пожалуйста, настройте версию ES в параметрах конфигурации, чтобы избежать дополнительного запроса на получение версии. Рекомендуется настроить этот параметр.

Контакты

QQ группа: 578276199.

GitHub: https://github.com/qieangel2013/EsParser.

OSChina: https://gitee.com/qieangel2013/EsParser.

Если вы поддерживаете мою работу, пожалуйста, сделайте пожертвование. Ваше пожертвование — моя главная мотивация.

![](https://github.com/qieangel2013/zys/blob/master/public/images/pw.jpg)

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/qieangel2013-EsParser.git
git@api.gitlife.ru:oschina-mirror/qieangel2013-EsParser.git
oschina-mirror
qieangel2013-EsParser
qieangel2013-EsParser
master