Elasticsearch7.8.0版本入门—— Elasticsearch7.8.0映射操作
Posted 小志的博客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Elasticsearch7.8.0版本入门—— Elasticsearch7.8.0映射操作相关的知识,希望对你有一定的参考价值。
目录
一、映射的概述
- 有了索引库,等于有了数据库中的 database。
- 索引库(index)中的映射,类似于数据库(database)中的表结构(table)。
- 创建数据库表需要设置字段名称,类型,长度,约束等;索引库也一样,需要知道这个类型
下有哪些字段,每个字段有哪些约束信息,这就叫做映射(mapping)。
二、创建映射的示例
2.1、首先,创建索引
- 在 Postman 中,向 ES 服务器发 PUT 请求 :http://127.0.0.1:9200/student
- 请求后,服务器返回响应
2.2、然后,再创建好的索引基础上,创建映射
-
在 Postman 中,向 ES 服务器发 PUT 请求 :http://127.0.0.1:9200/student/ _mapping,请求体内容为:
"properties": "name": "type": "text", "index": true , "sex": "type": "keyword", "index": true , "age": "type": "long", "index": false
-
请求后,服务器返回响应
2.3、映射属性说明
- 映射属性说明列表
属性 解释 字段名 任意填写,下面指定许多属性,例如: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,也就是说你不进行任何配置,所有字段都会被索引。 true:字段会被索引,则可以用来进行搜索 false:字段不会被索引,不能用来搜索 index 是否将数据进行独立存储,默认为 false 原始的文本会存储在_source 里面,默认情况下其他提取出来的字段都不是独立存储 的,是从_source 里面提取出来的。当然你也可以独立的存储某个字段,只要设置 "store": true 即可,获取独立存储的字段要比从_source 中解析快得多,但是也会占用 更多的空间,所以要根据实际业务需求来设置。 analyzer 分词器,这里的 ik_max_word 即使用 ik 分词器
2.4、查看创建的映射
- 在 Postman 中,向 ES 服务器发 GET 请求 :http://127.0.0.1:9200/student/ _mapping
- 请求后,服务器返回响应
2.5、最后,创建文档
-
在 Postman 中,向 ES 服务器发 PUT 请求 :http://127.0.0.1:9200/student/_doc/1,请求体内容为:
"name":"王五", "age":30, "sex":"男的"
-
请求后,服务器返回响应
2.6、根据文档中name属性条件查询文档 理解映射示例
-
在 Postman 中,向 ES 服务器发 GET 请求 :http://127.0.0.1:9200/student/_search,请求体内容为:
"query": "match": "name":"王"
-
请求后,服务器返回响应
-
由上图输出结果可知:通过name=“王”,即可查出结果数据,说明创建映射时name属性设置的type值为text,具有分词效果。
2.7、根据文档中sex属性条件查询文档 理解映射示例
-
在 Postman 中,向 ES 服务器发 GET 请求 :http://127.0.0.1:9200/student/_search,请求体内容为:
"query": "match": "sex":"男"
-
请求后,服务器返回响应
-
由上图输出结果可知:通过sex=“男”,查出结果数据为空,说明创建映射时sex属性设置的type值为keyword,不具备分词效果。
2.8、根据文档中age属性条件查询文档 理解映射示例
-
在 Postman 中,向 ES 服务器发 GET 请求 :http://127.0.0.1:9200/student/_search,请求体内容为:
"query": "match": "age":"30"
-
请求后,服务器返回响应
-
由上图输出结果可知:通过age=“30”,查出结果报错,说明创建映射时age属性设置的index值为false,字段不会被索引,不能用来搜索。
以上是关于Elasticsearch7.8.0版本入门—— Elasticsearch7.8.0映射操作的主要内容,如果未能解决你的问题,请参考以下文章
Elasticsearch7.8.0版本入门—— Elasticsearch7.8.0映射操作
Elasticsearch7.8.0版本入门—— Elasticsearch7.8.0映射操作
Elasticsearch7.8.0版本入门——单机部署(linux环境-centos7)
Elasticsearch7.8.0版本入门——集群部署(linux环境-centos7)
Elasticsearch入门——Elasticsearch7.8.0版本和Kibana7.8.0版本的下载安装(win10环境)
Elasticsearch入门——Elasticsearch7.8.0版本和Kibana7.8.0版本的下载安装(win10环境)