Elasticsearch Mapping & Setting

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: Mapping & Setting 是 Index 最重要的组成部分,Mapping 定义了 Index中的字段名称以及字段类型等信息, Setting 则定义了 Index 分片数量及副本数量等信息,通过了解 Mapping 和 Setting,可以更加合规的去设计 Index。

> Mapping & Setting 是 Index 最重要的组成部分,Mapping 定义了 Index中的字段名称以及字段类型等信息, Setting 则定义了 Index 分片数量及副本数量等信息,通过了解 Mapping 和 Setting,可以更加合规的去设计 Index。


image.jpeg

#### Node

一个节点就是一个Elasticsearch 实例,在操作系统层面看实质上就是一个进程,节点在启动时就拥有成为主节点的资格(Master Eligible),经过选举后每一个Master Eligible节点都可以成为 Master,整一个集群上的状态信息只有 Master 节点才可以修改。如上图有绿色五角星则代表是主节点。


#### 什么是Setting

Setting 是用于定义 Index 分片数量及副本数量等相关的配置信息,其中分片数量在设定后不能修改,而副本数量可以在运行过程中根据业务需要动态调整。

通过 REST API 进行 Index Setting 的创建

PUTmateriel{
"settings" : {
"number_of_shards" : 3,
"number_of_replicas": 1  }
}


##### 分片 Shard

分片(Shard)是为了解决数据在单一节点存储的问题而做的水平扩展,将数据分片后存放在不同的节点上可以提高对于数据操作的吞吐量及可扩展性。此参数一旦在索引(Index)创建完成后,则不可以进行修改。


##### 副本 Replica

副本(Replica)为了解决数据可用性问题,通常在分片数据丢失后,如果有副本数据在的话可以保证数据的完整性。并且在高吞吐量场景时,增加副本数量可以提供服务的读取吞吐量。此参数可以在索引创建时指定,也可以在创建后进行调整。


#### Setting 常用的参数

```

# 设置分片数量

number_of_shards

# 设置副本数量

number_of_replicas

# 设置自动扩展副本数量

index.auto_expand_replicas

# 设置 Index Buffer 刷新间隔

refresh_interval

# 设置自定义分词器

analysis

```


image.jpeg

#### 什么是Mapping

Mapping 是用于定义 Document 及其包含的字段类型和索引方式相关的信息,但在Elasticsearch中,可以动态的识别新增的字段值来推测出字段类型动态增加。

通过 REST API 进行 Index Mapping 的创建

PUTmateriel{
"mappings" : {
"properties" : {
"materiel" : { "type" : "text" },
"description" : { "type" : "text" }
    }
  }
}

#### Mapping 常用的参数

```

# 设置新增字段是否更新至 Mapping 并索引数据

"dynamic": "true|false|strict"

# 设置字段名称及类型

"properties"

```


#### REST API 操作

PUTmateriel{
"settings" : {
"number_of_shards" : 3,
"number_of_replicas": 1  },
"mappings" : {
"properties" : {
"materiel" : { "type" : "text" },
"description" : { "type" : "text" }
    }
  }
}

创建索引 materiel

设置分片数量为3,副本数量为1

定义字段 materiel 和 description,类型为字符串



相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
目录
相关文章
|
5月前
|
存储 自然语言处理 关系型数据库
Elasticsearch如何修改Mapping结构并实现业务零停机
Elasticsearch如何修改Mapping结构并实现业务零停机
|
5月前
|
存储 JSON 定位技术
深入理解Elasticsearch的索引映射(mapping)
深入理解Elasticsearch的索引映射(mapping)
|
6月前
|
存储 API 索引
Elasticsearch 8.X 防止 Mapping “爆炸”的三种方案
Elasticsearch 8.X 防止 Mapping “爆炸”的三种方案
75 0
|
6月前
|
JSON 自然语言处理 定位技术
Elasticsearch Mapping是啥?
Elasticsearch Mapping是啥?
108 0
|
存储 JSON 自然语言处理
【Elasticsearch】学好Elasticsearch系列-Mapping
【Elasticsearch】学好Elasticsearch系列-Mapping
135 0
|
JSON 自然语言处理 定位技术
Elasticsearch Mapping是啥?
Elasticsearch Mapping是啥?
135 0
|
存储 算法 固态存储
Elasticsearch Index Setting一览表
Elasticsearch Index Setting一览表
Elasticsearch Index Setting一览表
|
JSON Java API
Elasticsearch Dynamic Mapping(动态映射机制)
Elasticsearch Dynamic Mapping(动态映射机制)
Elasticsearch Dynamic Mapping(动态映射机制)
|
存储 JSON 自然语言处理
Elasticsearch Mapping之字段类型(field datatypes)
Elasticsearch Mapping之字段类型(field datatypes)
Elasticsearch Mapping之字段类型(field datatypes)
|
存储 JSON 自然语言处理
Elasticsearch Mapping parameters(主要参数一览)
Elasticsearch Mapping parameters(主要参数一览)
Elasticsearch Mapping parameters(主要参数一览)