Elasticsearch学习系列之mapping映射
来源:互联网 发布:网络十大美女主播排名 编辑:程序博客网 时间:2024/05/29 05:56
转自:http://www.cnblogs.com/zhaijunming5/p/6426940.html
什么是映射
- 为了能够把日期字段处理成日期,把数字字段处理成数字,把字符串字段处理成全文本(Full-text)或精确(Exact-value)的字符串值,Elasticsearch需要知道每个字段里面都包含什么数据类型。这些类型和字段的信息存储在映射中
- 创建索引的时候,可以预先定义字段的类型以及相关属性,相当于定义数据库字段的属性
映射的分类
静态映射
动态映射
什么是动态映射
文档中碰到一个以前没见过的字段时,动态映射可以自动决定该字段的类型,并对该字段添加映射
如何配置动态映射
- 通过dynamic属性进行控制
- true:默认值,动态添加字段; false:忽略新字段; strict:碰到陌生字段,抛出异常
适用范围
适用在根对象上或者object类型的任意字段上
字段类型
string字符串integer数字longA long value(64bit)floatA floating-point number(32bit):such as 1,2,3,4doubleA floating-poing number(64bit)boolA bool value,such as True,Falsedatesuch as:2017-02-20binary二进制
创建映射
POST /library #给索引为library创建映射关系{ "settings":{ "number_of_shards" : 5, "number_of_replicas" : 1}, "mappings":{ "books":{ #索引为library的type类型为books "properties":{ #这里往下就是映射关系 "title":{"type":"string"}, "name":{"type":"string","index":"not_analyzed"}, "publish_date":{"type":"date","index":"not_analyzed"}, "price":{"type":"double"}, "number":{ "type":"object", "dynamic":true } } } }}
获取映射
获取index为library的映射
GET library/_mapping
{ "library": { "mappings": { "books": { "properties": { "name": { "type": "string", "index": "not_analyzed" }, "number": { "type": "object", "dynamic": "true" }, "price": { "type": "double" }, "publish_date": { "type": "date", "format": "dateOptionalTime" }, "title": { "type": "string" } } } } }}
获取index为library,type为books的映射
GET /libraryyry/_mapping/books
获取集群内所有的映射信息
GET /_all/_mapping/
获取这个集群内某两个或多个type映射信息(books和bank_account映射信息)
GET /_all/_mapping/books,bank_account
删除映射
DELETE /libraryry/booksDELETE /libraryry/books/_mapping #删除books的映射DELETE /libraryry/_mapping/books,bank_acount #删除多个映射
无法修改已经存在的mapping映射
1.如果要推到现有的映射,你得重新建立一个索引.然后重新定义映射2.然后把之前索引里的数据导入到新的索引里-------具体方法------1.给现有的索引定义一个别名,并且把现有的索引指向这个别名,运行步骤22.运行: PUT /现有索引/_alias/别名A3.新创建一个索引,定义好最新的映射4.将别名指向新的索引.并且取消之前索引的执行,运行步骤55.运行: POST /_aliases { "actions":[ {"remove" : { "index": "现有索引名". "alias":"别名A" }}. {"add" : { "index": "新建索引名", "alias":"别名A" }} ] }注意:通过这几个步骤就实现了索引的平滑过渡,并且是零停机
阅读全文
0 0
- Elasticsearch学习系列之mapping映射
- Elasticsearch学习系列之mapping映射
- Elasticsearch之映射(mapping)。
- Elasticsearch学习笔记(四)Mapping映射
- Elasticsearch学习笔记——Mapping映射
- [ElasticSearch]映射(Mapping)
- elasticsearch系列-什么是Mapping
- elasticsearch mapping 学习
- elasticsearch之mapping field
- elasticsearch之mapping types
- elasticsearch之mapping配置
- elasticsearch之mapping配置
- elasticsearch 之mapping
- elasticsearch之mapping配置
- Elasticsearch实战系列-mapping 设置
- Elasticsearch实战系列-mapping 设置
- Elasticsearch - 自动检测及动态映射Dynamic Mapping
- Elasticsearch映射(mapping)与分析(analysis)
- 为什么java要实现对象序列化
- 一次非常有意思的 SQL 优化经历
- pyspider 初探
- IDEA使用记录
- 使用numba加速python
- Elasticsearch学习系列之mapping映射
- 各种模板
- redis连接超时
- 【LeetCode】162. Find Peak Element
- 人脸肤色相似度检测——程序及运行结果
- FZU 1686神龙的难题 (重复覆盖)
- 23种设计模式全解析
- Servlet,报了一上午404和500的报错
- HDU 5919Sequence II (主席树,不同元素个数+第K大)