一.前言 之前有个需求,是使ElasticSearch支持使用SQL进行简单查询,较新版本的ES已经支持该特性(不过貌似还是实验性质的?) ,而且git上也有elasticsearch-sql 插件,之所以决定手写一个,主要有两点原因: 1. 目前用的ES版本较老 2. elasticsearch-sql虽好,但比较复杂,代码也不易维护 3. 练练手 二.技术选型 目前主流软件中通常使用ANTLR做词法语法分析,诸如著名的Hibernate,Spark,Hive等项目,之前因为工作原因也有所接…