前言
点赞在看,养成习惯。
点赞收藏,人生辉煌。
ElasticSearch 版本为 7.8.1。
Kibana 版本为 7.8.1。
这些命令都是在Kibana下的控制台进行测试的。
关于ElasticSearch集群的搭建和Kibana的使用可以看我的其他文章。
1、动态创建索引my_68_idx并添加数据
PUT /my_68_idx/_doc/1
{
"title":"2020-09-01"
}
添加日期字符串
2、再次添加一条数据
PUT /my_68_idx/_doc/1
{
"title":"this is a string"
}
嗯,竟然报错了。
2.1、图解
什么鬼,类型错误。
3、查看这个索引给动态生成的类型
GET /my_68_idx/_mapping
3.1、图解
发现动态生成的类型是date类型,但是我们实际想要生成text类型。
4、尝试修改title类型
PUT /my_68_idx/_mapping
{
"properties": {
"title": {
"type": "text"
}
}
}
4.1、图解
咿,类型合并失败,这条路走不通了。试试别名吧
5、给这个索引起个别名
PUT /my_68_idx/_alias/useful_idx
6、测试这个别名是否可用
GET /useful_idx/_doc/1
6.1、图解
亲测,可用,别名可以的。
7、新创建一个新的索引
PUT /my_68_idx_new
{
"mappings": {
"properties": {
"title":{
"type": "text"
}
}
}
}
8、查询my_68_idx索引的数据
GET /my_68_idx/_search?scroll=1s
{
"query": {
"match_all": {}
},
"sort": ["_doc"],
"size": 1
}
因为只有一条数据,所以size为1,如果有多条数据可以多查询几次,每次的size设置稍微大一点。
8.1、图解
9、将上面批量查询的数据添加到新的索引中
POST /_bulk
{"index":{"_index":"my_68_idx_new","_id":"1"}}
{"title" : "2020-09-01"}
批量操作,把步骤8查询到的数据,在这里批量插入新的my_68_idx_new中。
10、查询是否添加成功
GET /my_68_idx_new/_doc/1
10.1、图解
11、修改别名将my_68_idx这个索引对应的别名转换到my_68_idx_new上
POST /_aliases
{
"actions": [
{
"add": {
"index": "my_68_idx_new",
"alias": "useful_idx"
}
},
{
"remove": {
"index": "my_68_idx",
"alias": "useful_idx"
}
}
]
}
12、别名查询数据发现使用的是新的索引
GET /useful_idx/_doc/1
12.1、图解
谢谢点赞
- 创作不易, 非常欢迎大家的点赞、评论和关注(^_−)☆
- 你的点赞、评论以及关注是对我最大的支持和鼓励
- 是我继续创作高质量博客的动力 !!!