We love SQL and want to leverage the full power of elasticsearch. Using syntax like
$ cat << EOF | es-sql http://127.0.0.1:9200
WITH all_symbols AS (SELECT MAX(market_cap) AS max_all_times FROM symbol);
WITH year_2000 AS (SELECT MAX(market_cap) AS max_at_2000 FROM all_symbols
WHERE ipo_year=2000)
EOF
You can create drill-down aggregation without deeply nested json
It is written in Python, it can be:
- a python library to query elasticsearch ( https://pypi.python.org/pypi/es-sql )
- a console command
- a http server providing SQL api
- we also use it to monitor Elasticsearch cluster itself, even querying metric from Elasticsearch to monitor business
If you like Java, there is also a Java version coming.
Compared to 1.x version, the WITH statement is changed to abide SQL syntax convention ( from WITH xxx AS yyy to WITH yyy AS (xxx) )