
# es 模块开发步骤

## 1、模块设计：

### es实例

- 支持录入es实例：所属标签、ip、端口、账号、密码、ssh跳板机、

### es操作

- 参照db操作，右侧标签树，实例列表，实例下子菜单：
  - 索引管理：支持右键菜单：刷新、添加索引、显示系统索引（以.开头的索引名）
    - 索引设置：过滤索引名^\..*  
    - 索引列表：展开索引名列表，以索引名排序，支持右键菜单：复制名字、添加别名、索引迁移、关闭/打开索引、删除索引
    - 索引详情：
    - 索引增删改查
    - 索引迁移：
       - 如果 Mapping 中字段已经定义就不能修改其字段的类型等属性了，同时也不能改变分片的数量， 可以使用 Reindex API 来解决这个问题。
       - 支持迁移到其他实例的指定索引，默认选中当前实例
    - 数据浏览：
    - 跳转到：基础搜索、高级搜索
  - 基础搜索: 
    - 保存es查询条件，指定查询名，关联：实例id、索引名
    - 可视化组装查询条件
    - 加载保存的查询条件列表、删除、修改、应用
  - 高级搜索：自己拼接查询json，返回并展示查询结果json
  - 仪表盘：一些指标数据：基本信息、节点信息、插件信息、集群状态、集群健康值
  - 设置：一些公共设置

## 开发路线
1、后端封装所需接口

参考 src/components/es/api/ClusterApi.ts
- 实例管理接口设计：/es/instance/:实例id/:index/具体接口
- 实例代理接口设计：/es/instance/proxy/:实例id/:官方api接口

2、前端参考es-client相关页面逻辑

参照： https://gitee.com/liuzongyang/es-client

