前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ES文档映射

ES文档映射

作者头像
Java廖志伟
发布2022-09-29 14:38:53
3390
发布2022-09-29 14:38:53
举报
文章被收录于专栏:高级开发进阶高级开发进阶

13.文档映射

ES中映射可以分为动态映射和静态映射

1.动态映射

在关系数据库中,需要事先创建数据库,然后在该数据库下创建数据表,并创建表字段、类型、长度、主键等,最后才能基于表插入数据。而Elasticsearch中不需要定义Mapping映射(即关系型数据库的表、字段等),在文档写入Elasticsearch时,会根据文档字段自动识别类型,这种机制称之为动态映射。 动态映射规则如下:

在这里插入图片描述
在这里插入图片描述
1 动态映射
1.1 删除原创建的索引
代码语言:javascript
复制
DELETE /es_db
1.2 创建索引
代码语言:javascript
复制
PUT /es_db
1.3 创建文档(ES根据数据类型, 会自动创建映射)
代码语言:javascript
复制
PUT /es_db/_doc/1
{
"name": "Jack",
"sex": 1,
"age": 25,
"book": "java精通",
"address": "广州"
}
1.4 获取文档映射
代码语言:javascript
复制
GET /es_db/_mapping		

2.静态映射

静态映射是在Elasticsearch中也可以事先定义好映射,包含文档的各字段类型、分词器等,这种方式称之为静态映射。

2.1 删除原创建的索引
代码语言:javascript
复制
DELETE /es_db
2.2 创建索引
代码语言:javascript
复制
PUT /es_db
2.3 设置文档映射
代码语言:javascript
复制
PUT /es_db
{
"mappings":{
"properties":{
"name":{"type":"keyword","index":true,"store":true},
"sex":{"type":"integer","index":true,"store":true},
"age":{"type":"integer","index":true,"store":true},
"book":{"type":"text","index":true,"store":true},
"address":{"type":"text","index":true,"store":true}
}
}
}
2.4 根据静态映射创建文档
代码语言:javascript
复制
PUT /es_db/_doc/1
{
"name": "Jack",
"sex": 1,
"age": 25,
"book": "elasticSearch入门至精通",
"address": "广州车陂"
}
2.5 获取文档映射
代码语言:javascript
复制
GET /es_db/_mapping	

14.核心类型(Core datatype)

字符串:string,string类型包含 text 和 keyword。 text:该类型被用来索引长文本,在创建索引前会将这些文本进行分词,转化为词的组合,建立索引;允许es来检索这些词,text类型不能用来排序和聚合。 keyword:该类型不能分词,可以被用来检索过滤、排序和聚合,keyword类型不可用text进行分词模糊检索。 数值型:long、integer、short、byte、double、float 日期型:date 布尔型:boolean

15.keyword 与 text 映射类型的区别

将 book 字段设置为 keyword 映射 (只能精准查询, 不能分词查询,能聚合、排序)

代码语言:javascript
复制
POST /es_db/_doc/_search
{
"query": {
"term": {
"book": "elasticSearch入门至精通"
}
}
}

将 book 字段设置为 text 映射能模糊查询, 能分词查询,不能聚合、排序)

代码语言:javascript
复制
POST /es_db/_doc/_search
{ 
"query": {
"match": {
"book": "elasticSearch入门至精通"
}
}
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-02-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 13.文档映射
    • 1.动态映射
      • 1 动态映射
    • 2.静态映射
      • 2.1 删除原创建的索引
      • 2.2 创建索引
      • 2.3 设置文档映射
      • 2.4 根据静态映射创建文档
      • 2.5 获取文档映射
  • 14.核心类型(Core datatype)
  • 15.keyword 与 text 映射类型的区别
相关产品与服务
Elasticsearch Service
腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档