开发者学堂课程【ElasticSearch 最新快速入门教程:Settings 和 Mappings_Mappings_Ⅰ_介绍】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/642/detail/10680
Settings 和 Mappings_Mappings_Ⅰ_介绍
内容介绍:
一、Mappings 详解
二、查看索引库的 mapping 信息
三、mappings 修改字段相关属性
本部分主要进行 Elasticsearch 精讲,我们将从以下几部分内容进行学习,即 Settings 和 Mappings_Mappings、ES优化_概述、ES 优化_创建和删除以及 ES 优化_配置。
其中 Settings 和 Mappings 中的 Mappings 主要用来定制元素值信息,然后对 ElasticSearch 优化进行概述,并从创建和删除、配置方面进行 ElasticSearch 优化。本节课主要学习 Mappings 详解。
一、Mappings 详解
Mappings 是对索引库中索引的字段名称及其数据类型进行定义,如在关系数据库中 package 时,可以定义字段名以及字段对应的数据类型,此时即会使用 mapping,因为 es 会自动根据数据格式定义它的类型。如果我们需要多某些字段添加一些特殊属性(如定义索引库使用其他分词器、是否分词、是否存储等),就必须手动添加 mapping。
二、查看索引库的 mapping 信息
curl-XGET
http://localhost:9200/bigdata/dep/mapping?pretty
即使用 curl-XGET 定位到数据服务器(localhost:9200)中的索引库 bigdata,获取其使用的 dep 中默认的 mapping值。
三、mappings 修改字段相关属性
如 mappings 可以修改字段类型,使用哪种分词器
可以使用 indexAnalyzer 定义分词器,也可以使用 index_analyzer 定义分词器。
1. 操作不存在的索引
curl -XPUT 'localhost:9200/bigdata'
//创建了一个索引库bigdata
-d'{"mappings":{"emp":{"properties":{"name":{"type":"string","indexAnalyzer":"ik","searchanalyzer":
"ik"} } } } }'
//指定一个-d 参数 mappings,其中 dep 的名称为 emp,其中的字段(properties)包括 name,其数据类型(type
string,分词器(indexAnalyzer)为 ik 分词器,搜索分词器(searchanalyzer)为 ik 分词器。
2. 操作已存在的索引
curl -XPOST
http://localhost:9200/bigdata/dep/_mapping
-d'{"properties":{"name":{"type":"string","indexAnalyzer":"ik","searchanalyzer":"ik"} } } '
通过这两种方式即可利用 mapping 定制索引库 dep 的详细信息。