方式一:动态创建
概念定义
索引无需提前创建,第一条数据插入即可创建完成。
应用场景
非严格数据模型限制规范的场景、日志、监控
示例
创建一个索引
POST /postkarte_001/_doc
{ "name": "postkarte",
"createDate": "2026-01-19",
"teams": [ "james", "mic", "tom" ]
}
查看索引
GET postkarte_001
删除索引
DELETE postkarte_001
再次查询发现查询不到了
方式二: 静态创建
概念
根据客观背景提前创建好索引,提前做好索引数据分布与相应设置。
应用设置
业务系统数据需要严格规范。索引分布在极端情况下需要消耗系统资源,避免集中创建索引时,集群响应慢。
创建
PUT postkarte_002
{
}
方式三: 滚动创建/自动创建
创建别名
创建一个索引同时指定别名
PUT postkarte_003
{ "aliases": { "post-alias": {} } }
通过别名进行查询
GET post-alias
head插件中会显示一个粉色的别名
创建别名的第二种方式,可以使用如下方式进行创建。
PUT postkarte_002/_alias/post-alias-002
滚动创建概要
rollover特性
- 利用别名alias
- 利用rollover特性
- 自动化滚动创建,达到一定阈值创建
应用场景
- 日志领域,需要自动化根据触发条件滚动创建。
- 大数据领域,单索引能力局限需要创建很多。
创建语法
语法一
POST /<rollover-target>/_rollover/<target-index>
语法二
POST /<rollover-target>/_rollover/
语法三
PUT /postkarte-rollover-index-000001
{
"aliases": {
"postkarte-rollover-index": {}
}
}
实际操作
创建一个带有别名的索引
PUT /postkarte-rollover-index-000001
{ "aliases": { "postkarte-rollover-index": {} } }
将上面创建的索引进行滚动操作
POST postkarte-rollover-index/_rollover
查看索引,可以看到指向了000002