elastic search的映射类似于关系型数据库里面的字段映射。对数据结构的定义。
- 映射可以分为静态映射和动态映射。
- dynamic属性为 true动态添加字段,false:忽略新字段,strict: 碰到陌生字段抛出异常。
- 字段类型
- string 字符串
- integer 数字
- long 64bit整形
- float 32bit小数
- double 64bit浮点型
- bool 布尔型
- date 日期
- binary 二进制
一个示例
POST /[indexName] { "settings": { "number_of_shards" : 5, "number_of_replicas" : 1 }, "mappings: { "books" : { # type "properties": { "title":{ "type":"string" }, "name": { "type":"string", "index":"not_analyzed" }, "publish_date": { "type":"date", "index":"not_analyzed" }, "number": { "type":"object", "dynamic": true } } } } }获取映射
GET [indexName]/_mapping
- 获取index为library,type为books的映射
GET library/_mapping/books
- 获取集群内所有的映射信息
GET /_all/_mapping/
- 获取集群内多个映射信息
GET /_all/_mapping/books,bank_account
- 删除映射和以上相同
DELETE /library/books
DELETE /library/bookes/_mapping
DELETE /library/_mapping/book, bank_account - 无法修改已经存在的mapping映射
- 重新建立一个索引,然后重新定义映射
- 把之前索引里的数据导入到新的索引里。
- 修改索引动作
- 运行 PUT /[现有indexName]/_alias/[indexAliasName]
- 新建一个索引,定义好新的映射
- 别名指向新索引
POST /_aliases { "actions":[ {"remove" : {"index":"现有indexName","alias":"indexAliasName"}}, {"add": {"index":"新索引Name","alias":"indexAliasName"}} ] }
- 修改字段只能通过新建索引的方式
- 先创建索引,修改字段
PUT [indexName] { "mappings": { "typeName":{ "properties": { "date" { "type":"date", "format": "yyyy-MM-dd" } } } } } - 将数据复制过去
POST _reindex
{
“source”:{
},"index": "metricbeat-*"(老索引名)
“dest”: {
}"index": "metricbeat" (新索引名)
}
- 先创建索引,修改字段
版权声明
本文标题:74-elastic-search索引映射
文章作者:盛领
发布时间:2018年10月20日 - 08:28:05
原始链接:http://blog.xiaoyuyu.net/post/b972e990.html
许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。
如您有任何商业合作或者授权方面的协商,请给我留言:sunsetxiao@126.com
欢迎您扫一扫上面的微信公众号,订阅我的博客!
坚持原创技术分享,您的支持将鼓励我继续创作!