Elasticsearch中Index就相当于MySQL中的数据库表
Mapping映射就类似表的结构。
因此我们想要向Elasticsearch中存储数据,必须先创建Index和Mapping
1. Mapping映射属性
Mapping 是对索引库中文档的约束 ,常见的Mapping属性包括:
type
:字段数据类型,常见的简单类型有:
字符串:
text
(可分词的文本)、keyword
(精确值,例如:品牌、国家、ip地址)数值:
long
、integer
、short
、byte
、double
、float
布尔:
boolean
日期:
date
对象:
object
index
:是否创建索引,默认为**true
**
analyzer
:使用哪种分词器
properties
:该字段的子字段
2. 索引库操作
访问 http://192.168.218.15:5601/ (自己虚拟机IP地址加5601端口 )登录Elastic控制台 ,点击Dev tools,记得先启动kibana和es容器


2.1 创建索引库和映射
2.1.1 基本语法
-
请求方式:
PUT
-
请求路径:/索引库名,可以自定义
-
请求参数:**
Mapping
**映射
格式:
XML
JSON格式
PUT /索引库名称
{
"mappings": {
"properties": {
"字段名":{
"type": "text",
"analyzer": "ik_smart"
},
"字段名2":{
"type": "keyword",
"index": "false"
},
"字段名3":{
"properties": {
"子字段": {
"type": "keyword"
}
}
},
}
}
示例:
XML
PUT /duolai
{
"mappings": {
"properties": {
"address":{
"type": "text",
"analyzer": "ik_smart"
},
"phone":{
"type": "keyword",
"index": "false"
},
"user":{
"properties": {
"lastName": {
"type": "keyword"
}
}
}
}
}
}
2.1.2 测试:

2.2 查询索引库
2.2.1 基本语法
-
请求方式:GET
-
请求路径:/索引库名
-
请求参数:无
格式:
XML
GET /索引库名
2.2.2 测试

2.3 删除索引库
2.3.1 基本语法
-
请求方式:DELETE
-
请求路径:/索引库名
-
请求参数:无
格式:
XML
DELETE /索引库名
2.3.2 测试

2.4 修改索引库
索引 库和Mapping 一旦创建无法修改 ,但是可以添加新的字段。
简单来说就是不能修改已有的字段 ,但可以添加新的字段
2.4.1 基本语法
XML
PUT /索引库名/_mapping
{
"properties": {
"新字段名":{
"type": "integer"
}
}
}
示例:
XML
PUT /duolai/_mapping
{
"properties": {
"age":{
"type": "integer"
}
}
}
2.4.2 测试

查询一下索引库,看看字段是否添加

3. 总结
索引库操作有哪些?
-
创建索引库:PUT /索引库名
-
查询索引库:GET /索引库名
-
删除索引库:DELETE /索引库名
-
修改索引库,添加字段:PUT /索引库名/_mapping