前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >3.学习Elasticsearch索引映射的概念和使用

3.学习Elasticsearch索引映射的概念和使用

作者头像
AI码师
发布2023-08-18 12:56:15
2020
发布2023-08-18 12:56:15
举报

概念

索引映射(Index Mapping)是用来定义文档的数据结构和字段类型的过程。它类似于数据库中的表结构定义,为每个字段指定数据类型、分析器和其他属性。索引映射在创建索引时指定,也可以在索引已经存在的情况下进行更新。

目的

索引映射的目的是告诉 Elasticsearch 如何解析和处理文档中的字段数据,以便它能够正确地进行搜索、聚合和排序等操作。如果不定义映射,Elasticsearch 会尝试自动推断字段类型,但这可能会导致意外的结果和不必要的资源浪费。

映射的内容

  • 字段类型(Field Type):指定字段的数据类型,如文本、数字、日期、布尔值等。
  • 分析器(Analyzer):用于处理文本字段的分析器。分析器负责将文本拆分成词项(Terms),以便进行全文搜索。
  • 是否索引(Indexing):指定字段是否应该被索引,允许字段进行搜索。对于某些字段,可能不需要索引,例如用于存储大量纯文本数据的字段。
  • 是否存储(Stored):指定字段是否应该被存储在索引中。存储字段可以在检索结果中返回原始值,但会增加索引的存储空间。
  • 动态映射(Dynamic Mapping):允许 Elasticsearch 自动推断未在映射中定义的字段的数据类型。
  • 嵌套对象(Nested Object):允许在文档中嵌套其他文档或对象。
  • 复杂字段类型(Complex Field Types):如数组、对象和地理位置等。

简单使用

在dev tools执行如下代码将会创建一个索引并设置了静态mapping

创建索引与mapping

代码语言:javascript
复制
PUT lglbc_demo
{
  "settings": {
    "number_of_replicas": 1,
    "number_of_shards": 3
  },
  "mappings": {
    "properties": {
      "userId":{
        "type": "text"
      },
      "stuNo":{
        "type": "integer"
      }
    }
  }
}

获取mapping

代码语言:javascript
复制
get lglbc_demo/_mapping

返回结果

代码语言:javascript
复制
{
  "lglbc_demo": {
    "mappings": {
      "properties": {
        "stuNo": {
          "type": "integer"
        },
        "userId": {
          "type": "text"
        }
      }
    }
  }
}
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-08-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 乐哥聊编程 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 概念
    • 目的
      • 映射的内容
      • 简单使用
        • 创建索引与mapping
          • 获取mapping
          相关产品与服务
          对象存储
          对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档