索引的创建
索引动态创建
PUT /gpedu-001/_doc/1
{
"eduName":"gpedu001",
"createDate":"2016-08-08"
}
索引静态创建
避免集中创建索引时,系统响应慢
PUT gpedu-002
{
}
滚动创建概要
rollover特性:
- 利用别名alias
- 利用rollover特性
- 自动化滚动创建,达到一定阀值创建
应用场景:
- 日志领域,需要自动化依据触发条件滚动创建
- 大数据领域,单索引能力局限需要创建很多
别名的创建
别名和索引是多对多的对应关系
// 创建带有别名的索引
PUT gpedu-003
{
"aliases": {
"gpedu-alias": {}
}
}
// 访问索引
GET gpedu-003
// 通过别名访问索引
GET gpedu-alias
给已经创建的索引添加别名
PUT /gpedu-002/_alias/gpedu-alias-02
滚动创建
// 滚动索引命名规范建议 字母+6位数字
PUT /gpedu-rollover-index-000001
{
"aliases": {
"gpedu-rollover-index": {}
}
}
GET gpedu-rollover-index
获得结果:
执行如下命令,会触发滚动索引创建
POST /gpedu-rollover-index/_rollover/
此时,再次查询别名时,索引发生了变化
GET gpedu-rollover-index
滚动索引触发条件(手动)
- 索引最大文档数 max_docs
- 索引创建时间 max_age
- 索引最大大小 max_size 实战中比较关注此参数
// 当索引中文档数>2时,触发滚动索引
POST /gpedu-rollover-index/_rollover
{
"conditions": {
"max_docs": 2
}
}
需要注意的是,滚动索引虽然精准,但是具有延时性,需要通过refresh来刷新
eg:
// 向索引中添加文档后,刷新;否则滚动索引条件不会触发,统计有延迟性
POST gpedu-rollover-index/_doc?refresh
{
"eduName":"gp.edu"
}
滚动索引可以指定下一次索引的名称
// 触发滚动索引时,别名gpedu-rollover-index指向的索引就是gpedu-rollover-index-000001
POST /gpedu-rollover-index/_rollover/gpedu-rollover-index-000001
{
"conditions": {
"max_docs": 2
}
}