Elasticsearch映射定义

文章目录

认识映射

映射类似于关系型数据库中的Schema(模式)。Schema在关系型数据库中是指库表包含的字段及字段存储类型等基础信息。

映射定义由两部分组成:元字段、数据类型字段。

元字段

元字段用于自定义关于处理文档的相关元数据。元字段包括文档的index、id和source等。各种元字段都以一个下划线开头,例如_id和_source。

常见元字段类型如下。

(1)标识元字段

❑_index:表示文档所属的索引。

❑_id:表示文档的ID

2)文档源元字段

❑_source:表示代表文档正文的原始JSON对象。

❑_size:表示source字段的大小(以字节为单位)。

(3)索引元字段

❑_field_names:表示给定文档中包含非空值的所有字段。

❑_ignored:表示由于设置ignore_malformed而在索引时被忽略的字段。

(4)路由元字段

❑_routing:用于将给定文档路由到指定的分片。

(5)其他元字段

❑_meta:表示应用程序特定的元数据,通俗地解读为可用于给索引加必要注释信息。❑_tier:指定文档所属索引的数据层级别,如在查询文档时可以指定data_hot、data_warm、data_cold等。

数据类型

1.基本数据类型

这是指大多数系统都支持的基本数据类型,举例如下。

❑binary:编码为Base64字符串的二进制类型。

❑boolean:仅支持true和false的布尔类型。

❑keyword:支持精准匹配的keyword类型、const_keyword类型和wildcard类型。❑number:数值类型,如integer、long、float、double等。

❑date:日期类型,包括date和date_nanos。

❑alias:别名类型,区别于索引别名,此处的别名是字段级别的别名。

❑text:全文检索类型。

2.复杂数据类型

复杂数据类型是常见数据类型的组合,举例如下。

❑数组类型:Array。

❑JSON对象类型:Object。

❑嵌套数据类型:Nested。

❑父子关联类型:Join。

❑Flattened类型:将原来一个复杂的Object或者Nested嵌套多字段类型统一映射为扁平的单字段类型。

注意:

1)严格来讲,Elasticsearch无专门的数组类型。

2)任何类型都可以包含一个或者多个元素,当数据包含多个元素的时候,它就是数组类型。

3)数组类型要求一个组内的数据类型一致。

专用数据类型

❑坐标数据类型:用于保存地理位置详细信息,例如表示经纬度信息的geo_point数据类型。

❑IP类型:表示IPV4或IPV6地址。

❑completion类型:是Elasticsearch中的一种专用字段类型,旨在实现高效的自动补全功能。该类型的设计理念在于快速查找和返回符合查询条件的建议,从而实现如搜索框自动补全等交互性强的功能,极大提升用户体验。

多字段类型

相关推荐
Dxy123931021621 小时前
Elasticsearch 8如何做好标题搜索
大数据·elasticsearch
斯普信云原生组21 小时前
Elasticsearch(ES) 内存 CPU 过高问题排查报告
大数据·elasticsearch·搜索引擎
弘毅 失败的 mian1 天前
Git 分支管理
大数据·经验分享·笔记·git·elasticsearch
阿坤带你走近大数据1 天前
Elasticsearch(ES)的基本概念、架构及基本使用介绍
大数据·elasticsearch
Elastic 中国社区官方博客1 天前
使用 Elasticsearch 中的结构化输出创建可靠的 agents
大数据·人工智能·elk·elasticsearch·搜索引擎·ai·全文检索
G皮T1 天前
【Elasticsearch】查询性能调优(六):track_total_hits 影响返回结果的相关性排序吗
大数据·数据库·elasticsearch·搜索引擎·全文检索·性能·opensearch
LCG米1 天前
嵌入式Linux系统构建:为STM32MP157移植Buildroot并开发温湿度采集驱动
linux·stm32·elasticsearch
phil zhang1 天前
Celer:为大型C/C++项目打造的极简包管理器
开发语言·c++·elasticsearch
sysinside2 天前
Elasticsearch 9.2 发布 - 分布式搜索和分析引擎
大数据·分布式·elasticsearch
会开花的二叉树2 天前
即时通讯系统核心模块实现
数据库·mysql·elasticsearch