ElasticHDElasticSearch的可视化应用
ElasticHD 是一款 ElasticSearch的可视化应用。不依赖ES的插件安装,更便捷;导航栏直接填写对应的ES IP和端口就可以操作Es了。目前支持如下功能:
ES Real time data search
ES Dashboard data visualization
ES Index Template (在线修改、查看、上传)
ES Indices Index deletion and search
SQL Converts to Elasticsearch DSL
ES 基本查询文档
Installation
Precompiled binaries for supported operating systems are available.
Basic Usage
-
linux and MacOs use ElasticHD
下载对应的elasticHD版本,unzip xxx_elasticHd_xxx.zip 修改权限 chmod 0777 ElasticHD 可指定ip端口运行elastichd ./ElasticHD -p 127.0.0.1:9800 默认 ip和端口也是这个
-
windows
直接下载对应windows版本,解压,双击运行。当然想指定端口的话同linux
Es version support
测试过elasticsearch 1.5版本到5.2.1的版本都能正常使用。 关于 sql 转化成 dsl 马上会出elasticHD 1.1版本修复一些兼容性错误。
Contributing
Contributions are welcome! Open a pull request to fix a bug, or open an issue to discuss a new feature or change.
ElasticHD SQL Converts to ElasticSearch DSL Usage
SQL Features Support:
[x] SQL Select
[x] SQL Where
[x] SQL Order BySQL
[x] SQL Group By
[x] SQL AND & OR
[x] SQL Like & NOT Like
[x] SQL COUNT distinct
[x] SQL In & Not In
[x] SQL Between
[x] SQL avg()、count(*), count(field), min(field), max(field)
Beyond SQL Features Support:
[x] ES TopHits
[x] ES date_histogram
[x] ES STATS
[x] ES RANGE
[x] ES DATE_RANGE
Improvement : now the query DSL is much more flat
SQL Usage
Query
select * from test where a=1 and b="c" and create_time between '2015-01-01T00:00:00+0800' and '2016-01-01T00:00:00+0800' and process_id > 1 order by id desc limit 100,10
Aggregation
select avg(age),min(age),max(age),count(student),count(distinct student) from test group by grade,class limit 10
Beyond SQL
-
range age group 20-25,25-30,30-35,35-40
SELECT COUNT(age) FROM bank GROUP BY range(age, 20,25,30,35,40)
-
range date group by your config
SELECT online FROM online GROUP BY date_range(field="insert_time",format="yyyy-MM-dd" ,"2014-08-18","2014-08-17","now-8d","now-7d","now-6d","now")
-
range date group by day
select * from test group by date_histogram(field="changeTime",interval="1h",format="yyyy-MM-dd HH🇲🇲ss")
-
stats
SELECT online FROM online group by stats(field="grade")
-
topHits
select top_hits(field="class", hitssort="age:desc", taglimit = "10", hitslimit = "1", _source="name,age,class,gender") from school
源码编译
# 需要go环境 git Clone https://github.com/farmerx/ElasticHD # 进入到应用目录下 cd ElasticHD npm install # build vue 源码 npm run build # 进入到服务端程序目录 cd ./main # 使用statik 压缩编译好的程序(github上的一款go应用) statik -src=../dist # go build GO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -o elasticHD.exe github.com/elasticHD/main
ElasticHD应用页面
![6(https://static.oschina.net/uploads/img/201706/17154148_y3cf.png "在这里输入图片标题")
Todo
More plugins support
The indices list supports search, better sorting, detailed viewing, and more
Program logo design
Monitoring information collection
Licenses
This program is under the terms of the MIT License. See LICENSE for the full license text.