elasticstarch执行语句
介绍
索引是ElasticSearch存放数据的地方,可以理解为关系型数据库中的一个数据库。
es与数据库对应关系
数据库类型 | 库名 | 表名 | 记录 | 字段 |
---|---|---|---|---|
Relational DB | Databases | Tables | Rows | Columns |
Elasticsearch | Indices | Types | Documents | Fields |
文档元数据
一个文档不只有数据。它还包含了元数据(metadata)——关于文档的信息。三个必须的元数据节点是(其实就是数据库字段):
节点 | 说明 |
---|---|
_index | 文档存储的地方 |
_type | 文档代表的对象的类 |
_id | 文档的唯一标识 |
索引创建原则
- 类似的数据放在一个索引,非类似的数据放不同索引:product index(包含了所有的商品),sales index(包含了所有的商品销售数据),inventory index(包含了所有库存相关的数据)。如果你把比如product,sales,human resource(employee),全都放在一个大的index里面,比如说company index,不合适的。
- index中包含了很多类似的document:类似是什么意思,其实指的就是说,这些document的fields很大一部分是相同的,你说你放了3个document,每个document的fields都完全不一样,这就不是类似了,就不太适合放到一个index里面去了。
- 索引名称必须是小写的,不能用下划线开头,不能包含逗号:product,website,blog
语法示例
运维相关
查看ES集群中所有节点信息,以及各个节点内存和CPU相关的指标
1 |
|
查看整个ES集群的状态,以及节点、分片等信息
1 |
|
如果集群状态不正常了(status是yellow或者red),可以通过以下命令查看具体是哪个index中的哪些shard出问题了:
1 |
|
列出ES集群中所有的index信息
1 |
|
显示索引的别名信息、过滤器和路由信息
1 |
|
查看每个节点的分片数量以及每个节点的磁盘空间使用情况
1 |
|
查看索引或集群的文档数量
1 |
|
查看每个数据节点上被fielddata所使用的堆内存大小
1 |
|
显示master节点的id、ip和节点名
1 |
|
返回集群中各节点信息
1 |
|
查看节点所运行插件信息
1 |
|
查看索引分片恢复进度
1 |
|
查看集群中的快照库
1 |
|
查看集群每个节点的线程池统计信息
1 |
|
查看集群中每个节点的分片信息,包括分片名称、编号、是否是主分片、状态、文档数据、空间大小、所有节点ip、节点名称
1 |
|
查看索引的segment信息,注意,索引数据实际上是以一个个segment的方式进行存储的
1 |
|
查看集群的健康状态
1 |
|
返回集群的完整状态信息。
1 |
|
返回集群的完整状态信息。
1 |
|
获取各种统计数据。包括两部分数据:
- 索引层面:分片数、存储大小、内存使用等;
- 节点层面:节点数量、节点角色、操作系统、jvm信息、内存、CPU、插件等;
1 |
|
明确地执行集群重新路由分配命令。
1 |
|
更新集群中的配置,如果是永久配置,需要重启集群;临时配置的訞 不不需要重启集群
1 |
|
统计集群中一个或多个节点的统计信息。
1 |
|
或:
1 |
|
获取集群中正在节点中执行的任务信息。
1 |
|
查看分片没有被分配的原因,比如通过GET /_cat/shards?v
看到某个索引没有被分配,就可以使用下面的命令来查看没有被分配的原因。
1 |
|
创建索引
1 |
|
删除索引
1 |
|
关闭索引
1 |
|
开启索引
1 |
|
动态修改ES相关配置
1 |
|
设置最大查询条数
1 |
|
设置默认副本和分片
1 |
|
变更之前的副本数
1 |
|
基本语法
查询文档
1 |
|
新增文档
1 |
|
删除文档
1 |
|
修改文档
1 |
|
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!