ElasticHD - ElasticSearch的可视化应用


MIT
跨平台
JavaScript

软件简介

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.