首页 > 其他分享 >Day02-映射(mapping)

Day02-映射(mapping)

时间:2024-11-11 16:41:12浏览次数:1  
标签:映射 Day02 mapping 索引 字段 文档 3.1 类型

1.映射(Mapping)
可以理解为对文档及其字段进行索引或存储的方式。
可以拿Mapping和关系型数据库中的schema类比,schema在关系型数据库中指:库表包含的字段及字段存储类型等基础信息。
下文中映射等价于Mapping。
Elasticsearch映射,描述了文档可能具有的字段、属性、每个字段的数据类型以及Lucene是如何索引和存储这些字段的。
例如,使用映射定义:
·哪些字符串字段应视为全文字段。
·哪些字段包含数字、日期或地理位置。
日期值的格式。
自定义规则来控制动态添加字段的映射
映射定义由以下两部分组成:
·元字段(Meta-fields)
·数据类型字段
元字段用于自定义如何处理文档的相关元数据。
元字段的示例包括文档的index,type,id和source字段

2.1 元字段
各种元字段,它们都以一个下划线开头,例如_type、_id 和_source。
2.1.1 ldentity 元字段
index:表示它所属的文档的索引。
·uid:type和 id的组合键,
·id:表示文档的ID。
2.1.2 文档源元字段
source:表示代表文档正文的原始JSON对象·size:它表示source字段的大小(以字节为单位)
2.1.3 索引元字段
·field names:表示给定文档中包含非空值的所有字段。
·timestamp:与每个文档相关联的手动或自动生成的时间戳
·tt:表示应该保持活动状态的时间,之后该时间将被删除。

3.数据字段
每个字段都有一个字段数据类型或字段类型。此类型表示 类型的数据,例如字符串或布尔值,以及其预期用途。
字段类型按系列分组。同一系列中的类型恰好具有相同的搜索行为,但空间使用量或性能可能不同特性。

3.1常见类型
3.1.1 binary
编码为 Base64 字符串的二进制值。
3.1.2 boolean
true和价值观。false
3.1.3 关键字
关键字系列,包括keywordconstant和keywordwildcard
3.1.4 数字
数字类型(如 和 )用于 快递金额。long double
3.1.5 日期
日期类型,包括 date 和 date_nanos。
3.1.6 alias
定义现有字段的别名。
3.1.7 对象和关系类型
object
JSON 对象。
3.1.8 flattened
将整个 JSON 对象作为单个字段值。
3.1.9 nested
保留关系的 JSON 对象 在其子字段之间。
3.1.10 join
定义文档的父/子关系 在同一索引中。

3.2结构化数据类型
3.2.1 范围
范围类型,例如long_rangedouble_range和date_rangeip_range
3.2.2ip
IPv4 和 IPv6 地址。
3.2.3 version
软件版本。支持语义版本控制优先规则。
3.2.4 murmur3
计算和存储 值。

3.3聚合数据类型
3.3.1 aggregate_metric_double
预先聚合的指标值。
3.3.2 histogram
以直方图形式预先聚合的数值。

3.4 文本搜索类型
3.4.1文本字段
文本系列(包括test和match_only_text分析的非结构化文本。
3.4.2 annotated-text
包含特殊 标记。用于标识命名实体。
3.4.3 completion
用于自动完成建议。
3.4.5 search_as_you_type
text-like 类型 as-you-type 补全。
3.4.6 token_count
文本中的标记计数。

3.5 文档排名类型
3.5.1 dense_vector
记录 float 值的密集向量。
3.5.2 rank_feature
记录数字特征以提升命中率 查询时间。
3.5.3 rank_features
记录数字特征以提高命中率 查询时间。

3.6 空间数据类型
3.6.1 geo_point
纬度和经度点。
3.6.2 geo_shape
复杂形状,例如多边形。
3.6.3 point
任意笛卡尔点。
3.6.4 shape
任意笛卡尔几何图形。

3.7 其他类型
3.7.1 percolator
为 Query DSL 中编写的查询编制索引。
3.7.2 阵 列
在 Elasticsearch 中,数组不需要专用的字段数据类型。任何字段都可以包含 默认情况下为零或多个值,但是,数组中的所有值都必须为 相同的字段类型。请参阅 数组。

3.8 多字段
对于不同的 目的。例如,字段可以映射为 一个用于全文搜索的字段,以及作为 排序或聚合。或者,您可以使用 Standard Analyzer(标准分析器)、English (英语) 分析器和 French 分析器(French Analyzer)。stringtextkeyword
这就是 multi-fields 的目的。大多数字段类型都支持多字段 通过 fields 参数。

4 mapping参数
4.1 analyzer
该参数指定在为字段编制索引或搜索字段时用于文本分析的分析器。analyzertext
除非被 search_analyzer 映射覆盖 参数,则此分析器用于 index 和 搜索分析。
https://www.elastic.co/guide/en/elasticsearch/reference/8.1/analyzer.html)

4.2 coerce
强制 (Coercion) 尝试清理脏值以适应字段的数据类型。 例如:
字符串将被强制转换为数字。
•整数值的浮点将被截断。
https://www.elastic.co/guide/en/elasticsearch/reference/8.1/coerce.html)
4.3 copy_to
该参数允许您将多个字段的值复制到一个组字段中,然后可以将其作为单个字段进行查询。
https://www.elastic.co/guide/en/elasticsearch/reference/8.1/copy-to.html)

4.4 doc_values
默认情况下,大多数字段都被索引,这使得它们可以搜索。倒排索引允许查询在唯一排序的术语列表中查找搜索词,并立即访问包含该术语的文档列表。
排序、聚合和访问脚本中的字段值需要不同的数据访问模式。我们需要能够查找文档并找到它在字段中的术语,而不是查找术语并查找文档。
文档值是磁盘上的数据结构,在文档索引时构建,这使得这种数据访问模式成为可能。它们以面向列的方式存储与但相同的值,这种方式对排序和聚合更有效。几乎所有字段类型都支持文档值,但文本和annotated_text字段除外。_source

4.5 dynamic
当您索引包含新字段的文档时,Elasticsearch会将该字段动态添加到文档或文档中的内部对象。以下文档在对象下添加了字符串字段、对象字段和两个字符串字段:username

5.动态映射(dynamic mappping)

Elasticsearch 最重要的功能之一是它尝试获取 让您尽快开始探索数据。 要为文档编制索引,您不必先创建索引,只需定义映射 type 并定义您的字段 — 您只需为文档和索引 type 和 fields 将自动显示:

新字段的自动检测和添加称为动态映射。可以自定义动态映射规则以满足您的目的:
Dynamic field mappings
控制动态场检测的规则。

标签:映射,Day02,mapping,索引,字段,文档,3.1,类型
From: https://www.cnblogs.com/waiz-liu/p/18525614

相关文章

  • STM32的端口引脚的复用功能及重映射功能解析
    STM32微控制器因其强大的外设功能和灵活的引脚复用能力而被广泛应用于嵌入式系统设计中。本文将详细介绍STM32的端口引脚复用功能和重映射功能,以及如何通过代码实现这些功能。端口引脚复用功能STM32的GPIO端口可以被复用为多种外设功能,如USART、SPI、I2C等。这种复用功能......
  • LBA(Logical Block Addressing,逻辑块寻址)是一种硬盘寻址方式,用于将硬盘中的每个存储块
    LBA(逻辑块寻址)模式简介LBA(LogicalBlockAddressing,逻辑块寻址)是一种硬盘寻址方式,用于将硬盘中的每个存储块映射为一个唯一的逻辑地址。这种寻址方式使得操作系统能够通过逻辑地址而不是物理位置来访问硬盘数据,从而简化了硬盘的管理和数据访问。LBA的背景与作用在硬盘的传统寻......
  • 内存映射I/O(MMIO)是一种将硬件设备的控制寄存器和数据寄存器映射到处理器的地址空间中
    内存映射I/O(Memory-MappedI/O,简称MMIO)内存映射I/O(MMIO)是一种将硬件设备的控制寄存器和数据寄存器映射到处理器的地址空间中的技术。在这种方式下,操作系统和程序可以像访问内存一样,通过常规的内存访问指令(如读写)来访问硬件设备,而不需要使用专门的输入/输出指令。它简化了硬件访问......
  • nginx域名映射
    nginx域名映射域名映射是指将域名与IP地址相对应的过程。在互联网中,每个计算机都有一个唯一的IP地址,用于标识它在网络中的位置。但是,IP地址通常比较难记忆和理解。为了方便用户使用,域名被引入到互联网中,它们可以用来代替IP地址来访问网站。域名映射的过程将域名转换为IP地址,使......
  • 十三 MyBatis的高级映射及延迟加载
    十三、MyBatis的高级映射及延迟加载模块名:mybatis-009-advanced-mapping打包方式:jar依赖:mybatis依赖、mysql驱动依赖、junit依赖、logback依赖配置文件:mybatis-config.xml、logback.xml、jdbc.properties拷贝工具类:SqlSessionUtil准备数据库表:一个班级对应多个学生。......
  • 在 Windows Server 2025 中,WebDAV 重定向程序(WebDAV Redirector)是一个客户端组件,用于
    在WindowsServer2025和更高版本中,WebDAV(Web-basedDistributedAuthoringandVersioning)协议仍然可以通过启用IIS(InternetInformationServices)角色来使用。你可以安装并配置IIS中的WebDAV模块来实现文件共享和远程访问。在WindowsServer2025中,WebDAV重定向程序......
  • 云盘搭建/映射工具大全
    云盘搭建/映射工具大全搭建云盘AList云盘挂载到本地云盘映射工具闪秒云RaiDriveAirLiveDriveZ-file文件夹密码文件预览支持多个存储策略支持多种协议OnionShare匿名分享免部署服务器ownCloudNextcloudFilesDzzOffice企业应用套件协作功能强大Ey......
  • windows XP,ReactOS系统3.4 共享映射区(Section)---1
    系列文章目录文章目录系列文章目录3.4共享映射区(Section)NtCreateSection()MmCreateSection()MmCreateDataFileSection()NtMapViewOfSection()MmNotPresentFaultSectionView()3.4共享映射区(Section)对于用户空间的映射,一个物理页面通常只属于一个进程,即只被......
  • windows XP,ReactOS系统3.4 共享映射区(Section)---2
    系列文章目录文章目录系列文章目录在ReactOs内核中ROS_SECTION_OBJECT结构体MM_SECTION_SEGMENT结构体SECTION_PAGE_DIRECTORY结构体SECTION_PAGE_TABLE结构体在ReactOs内核中在ReactOs内核中,映射区的数据结构是ROS_SECTION_OBJECT,显然这与Windows中的“......
  • Windows 虚拟地址 到底是如何映射到 物理地址 的?
    一:背景1.讲故事我发现有很多的.NET程序员写了很多年的代码都没弄清楚什么是 虚拟地址,更不用谈什么是 物理地址 以及Windows是如何实现地址映射的了?这一篇我们就来聊一聊这两者之间的联系。二:地址映射研究1.找虚拟地址怎么去找 虚拟地址 呢?相信很多朋友都知道应用......