mapping 详解1(mapping type)

摘要:
映射是一种定义文档及其包含字段如何存储和索引的方法。映射更新映射支持更新。如有必要,必须重建索引并设置正确的映射,而不是尝试更新现有映射。字段之间的共享映射类型映射类型用于对字段进行逻辑分组,但每个映射类型之间的字段并不独立存在。

映射(mapping)

映射是定义一个文档以及其所包含的字段如何被存储和索引的方法。

例如,用映射来定义以下内容:

  • 哪些 string 类型的 field 应当被当成当成 full-text 字段
  • 哪些字段应该是数值类型、日期类型或者是地理位置信息
  • 日期类型字段的格式是怎么样的
  • 是否文档的所有字段都需要被索引到 _all 字段
  • 动态增加的 field 可以由用户自定义的模板来控制其行为

映射类型(mapping types)

每个索引都有一个或多个映射类型(mapping type)来对索引内的文档进行逻辑分组(mapping type 就是平常所说的 type)。

每一个映射类型都包含以下内容:

1. 元数据字段

元数据字段用来自定义如何处理关联文档的元数据。元数据字段包括: _index, _type, _id, _source.

2. 字段列表或属性

每个映射类型都包含一个字段列表或者是和该类型相关的一些属性。

字段数据类型(field datatypes)

每一个字段,都属于一种数据类型。

1. 基本数据类型

string, long, boolean, ip

2. JSON 分层数据类型

object, nested

3. 特殊类型

geo_point, geo_shape, completion

动态映射(dynamic mapping)

字段及其映射类型不必在使用前事先定义好,这得益于动态映射的应用。

动态映射能够根据文档索引过程来自动生成映射类型和字段名。

动态映射规则可以用来定义新类型和新字段的映射。

显式映射(explicit mappings)

如果你比 ES 通过猜测来确定映射更加了解你的数据,那么定义一个动态映射将会很有用。不过有时候你可能需要指定自己的显式映射。

显式映射可以在创建索引时候定义,或者用 mapping API 来为已有的索引添加映射类型或字段。

映射更新(updating existing mappings)

映射支持更新,如果需要,必须重建索引并设置正确的 mapping ,而不是试图去更新已有的 mapping。

字段之间共享映射类型(fileds are shared across mapping types)

映射类型用来逻辑分组字段,但是每个映射类型之间的字段并非独立存在的。

1. 规则:

字段在以下条件:

  1. 相同字段名
  2. 相同索引
  3. 不同映射类型

的时候其实是映射到内部相同的字段上,所以,必须拥有相同的映射设置。

2. 例外:

有一些例外,参数:

  1. copy_to
  2. dynamic
  3. enabled
  4. ignore_above
  5. include_in_all
  6. properties

可以对满足前述“规则”的字段进行各自不同的设置。

免责声明:文章转载自《mapping 详解1(mapping type)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇解决C# WINFORM程序只允许运行一个实例的几种方法详解转:更改 centos yum 源下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

常用数据词典

视图家族 描述 COL_PRIVS 包含了表的列权限,包括授予者、被授予者和权限 EXTENTS 数据范围信息,比如数据文件,数据段名(segment_name)和大小 INDEXES 索引信息,比如类型、唯一性和被涉及的表 IND_COLUMNS 索引列信息,比如索引上的列的排序方式 OBJECTS 对象信息,比如状态和DDL time ROLE_PRI...

如何使用Countifs函数动态统计

我们以前就是一个函数一个功能,一个函数一个区域,这次我们使用动态函数。我们先写好条件范围,因为我们要引用。   同样的我们写下函数出来,我们先把Countifs写出来。选择完区域之后如下图。   条件的时候我们就要注意哦,我们先输入>号,记得用双引号。=COUNTIFS(F48:F92,"<")   我们在加上我们的数据,...

信息检索导论学习笔记 --第一章 布尔检索

信息检索(informagto retrieval) 是从大规模非结构化数据(通常是文本)的集合中找出满足用户信息需求的资料 文档document 所有文档组成“文档集“(collection), 有时也称“语料库”(corpus) 查询(query) 相关的(relevant) 正确率(precision): 返回结果中 真正和信息需求相关的文档所占比例...

mysql 动态拼接表字段,值 mybatis 动态获取表字段

-- 取表所有字段,自动用逗号分开 select GROUP_CONCAT(DISTINCT COLUMN_NAME) from information_schema.columns where table_name='tb1'结果集:  字段1,字段2,字段3,字段4..... -- 动态拼接字段,给mybatis用 某些业务情况下没有去使用自动生成代...

用python做一个搜索引擎(Pylucene)

什么是搜索引擎? 搜索引擎是“对网络信息资源进行搜集整理并提供信息查询服务的系统,包括信息搜集、信息整理和用户查询三部分”。如图1是搜索引擎的一般结构,信息搜集模块从网络采集信息到网络信息库之中(一般使用爬虫);然后信息整理模块对采集的信息进行分词、去停用词、赋权重等操作后建立索引表(一般是倒排索引)构成索引库;最后用户查询模块就可以识别用户的检索需求并提...

ES多租户方案调研

一、参考 百度改进的Elasticsearch 二、问题描述 如上图所示,现有索引的逻辑为: (1)对于每一个用户的每一种非结构化数据,都创建一个对应的索引user1-log-index1 (2)对于每一个索引, 默认为一个分片,副本数量为1 根据现有的逻辑,可以计算得到: 单个集群中的索引数量 = (用户1 * 用户1使用的数据类型数量) + (用...