ElasticSearch实战-索引创建与规范
Posted 张志翔ۤ
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ElasticSearch实战-索引创建与规范相关的知识,希望对你有一定的参考价值。
ES中的索引(index)定义了文档的逻辑存储和字段类型,索引是一种虚拟空间,类似于数据库中的表。一个索引可以包含不同的数据结构的数据,且由一到多个分片组成。主要相关概念如下:
- 索引(index): 存储文档归类的逻辑空间,由多个分片组成,相当于数据库中的表。
- 分片(shard): 相当于Lucene中的索引文件,适当增加分片数可以提升索引性能。
- 段(segment): 一个shard有多个段,一个段是Lucene中存储数据最小单位,一个段对应Lucene中的一个倒排索引。
- 文档(document): 一条ES记录,相当于数据库中的行。
- 副本(replicas): 也叫备份。设置副本后,在索引的时候,会写入主分片,并同步到副本分片。有了副本分片可以提升检索效率,和保障数据高可用。
动态创建
- 定义:索引不用提前创建,插入的第一条(批)数据后,完成创建
- 场景:非业务逻辑场景,对数据结构定义要求不高的场景
- 备注:使用动态创建,es会根据第一条数据来对字段进行动态结构映射,如果对字段数据结构要求较高的,需要提前定义好类型。动态创建,索引的分片数默认为1(7.x),副本数为1
静态创建
- 定义:提前创建好索引,可以指定索引的分片数,副本数,字段数据结构等信息。
- 场景:业务系统数据需要严格定义好结构,海量时序性索引可以提前创建索引,避免集中写入创建,
以上是关于ElasticSearch实战-索引创建与规范的主要内容,如果未能解决你的问题,请参考以下文章
《Elasticsearch 源码解析与优化实战》第17章:Shrink原理分析