ElasticHDElasticSearch的可视化应用

联合创作 · 2023-09-29 03:28

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应用页面

1 2 3 4 5 ![6(https://static.oschina.net/uploads/img/201706/17154148_y3cf.png "在这里输入图片标题") 7 8

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.

浏览 10
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报