文章目录
映射操作
有了索引库,等于有了数据库中的database。
接下来就需要建索引库(index)中的映射了,类似于数据库(database)中的表结构(table)。创建数据库表需要设置字段名称,类型,长度,约束等;索引库也一样,需要知道这个类型下有哪些字段,每个字段有哪些约束信息,这就叫做映射(mapping)。
创建映射
创建映射前,在在 Postman中,向ES服务器发PUT请求 :http://127.0.0.1:9200/phone 索引
在 Postman中,向ES服务器发PUT请求 :http://127.0.0.1:9200/phone/_mapping
请求体内容为:
{
"properties": {
"name":{
"type": "text",
"index": true
},
"price":{
"type": "long",
"index": false
}
}
}
服务器响应结果如下:
字段名:任意填写,下面指定许多属性,例如:title、subtitle、images、price
type:类型,Elasticsearch中支持的数据类型非常丰富,说几个关键的:
- String类型,又分两种:
- text:可分词
- keyword:不可分词,数据会作为完整字段进行匹配
- Numerical:数值类型,分两类
- 基本数据类型:long、integer、short、byte、double、float、half_float
- 浮点数的高精度类型:scaled_float
- Date:日期类型
- Array:数组类型
- Object:对象
- index:是否索引,默认为true,也就是说你不进行任何配置,所有字段都会被索引。
- store:是否将数据进行独立存储,默认为false
原始的文本会存储在_source里面,默认情况下其他提取出来的字段都不是独立存储的,是从_source里面提取出来的。当然你也可以独立的存储某个字段,只要设置"store": true即可,获取独立存储的字段要比从_source中解析快得多,但是也会占用更多的空间,所以要根据实际业务需求来设置。 - analyzer:分词器,这里的ik_max_word即使用ik分词器,后面会有专门的章节学习
查看映射
在 Postman中,向ES服务器发GET请求 :http://127.0.0.1:9200/phone/_mapping
索引映射关联
在 Postman中,向ES服务器发PUT请求 :http://127.0.0.1:9200/phone1
{
"settings": {},
"mappings": {
"properties": {
"name":{
"type": "text",
"index": true
},
"price":{
"type": "long",
"index": false
}
}
}
}
服务器响应如下:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。