前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ES 中的 settings 和 mappings

ES 中的 settings 和 mappings

原创
作者头像
shanizeng
发布2020-06-29 21:02:04
4.4K0
发布2020-06-29 21:02:04
举报

settings

对于稳定的集群,settings 主要用于设置索引的分片及副本数。而索引设置分为 static 和 dynamic 修改,动态修改通常使用 settings API 进行修改。

获取索引的配置信息,以下信息可以看出,索引为一主分片一副本分片

代码语言:javascript
复制
GET test/_settings

{
  "test" : {
    "settings" : {
      "index" : {
        "refresh_interval" : "30s",
        "number_of_shards" : "1",
        "translog" : {
          "sync_interval" : "5s",
          "durability" : "async"
        },
        "provided_name" : "test",
        "max_result_window" : "65536",
        "creation_date" : "1592816713467",
        "unassigned" : {
          "node_left" : {
            "delayed_timeout" : "5m"
          }
        },
        "number_of_replicas" : "1",
        "uuid" : "WowQ62uqTJW2gFLo1SAh-A",
        "version" : {
          "created" : "7050199"
        }
      }
    }
  }
}

settings 不可修改主分片数量,仅能动态修改索引副本分片数量

代码语言:javascript
复制
PUT test/_settings
{
     "number_of_replicas":2
}

mappings

若将 ES 当做数据库来理解,mappings 可视为其中的表结构。但 mappings 比表结构更加灵活,不指定也可以根据数据类型动态识别,若需要添加特殊属性则要手动指定 mappings.

手动指定 mappings

代码语言:javascript
复制
PUT people
{
  "mappings": {
    "properties": {
      "name": {"type": "text"},
      "age": {"type": "integer"},
      "sex": {"type": "text"},
      "rank": {"type": "text"}
    }
  }
}

添加字段

代码语言:javascript
复制
PUT people/_mapping
{
  "properties": {
    "employee-id": {
      "type": "keyword",
      "index": false
    }
  }
}

mapping 的版本迭代

version

pattern

5.6.x

可手动启用“index.mapping.single_type: true”,使用 join 字段进行替换

6.x

允许索引使用单一类型,有且仅有一个名称,首选_doc 类型; 5.x 版本的索引可延续使用,新版本的索引不再支持父/子方式和 join 类型; 6.8中需要在索引创建、模板时需要显示指定 include _ type _ name,不显示申明会默认为 name _ doc

7.x

_doc 是路径中的永久部分,并且表示的是 endpoint 类型,而不是 doc 类型; include _ type _ name 参数默认为 false 移除 _default_ mapping 类型

8.x

不再支持特殊类型 移除 include_type_name 参数

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • settings
  • mappings
    • 手动指定 mappings
      • 添加字段
      • mapping 的版本迭代
相关产品与服务
Elasticsearch Service
腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com