带你读《Elastic Stack 实战手册》之17:—— 3.4.2.2.理解mapping(上)

简介: 带你读《Elastic Stack 实战手册》之17:—— 3.4.2.2.理解mapping(上)

3.4.2.2.理解mapping


创作人:欧阳楚才

 

映射(mapping)就像数据库中的 Schema ,描述了文档可能具有的字段或属性、每个字段的数据类型,比如 Text,Keyword,Integer 或 Date ,以及 Lucene 是如何索引和存储这些字段的。

 

核心简单字段类型

 

Elasticsearch 支持如下简单字段类型:

 

l 字符串: text,keyword

l 整数:byte,short,integer,long

l 浮点数: float,double

l 布尔型: boolean

l 日期: date

 

更多的字段类型比如 geo_point,ip,nested 等可以在链接处查看:https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-types.html

 

当你索引一个包含新字段的文档之前,未曾出现 Elasticsearch 会使用动态映射,通过

JSON 中基本数据类型,尝试猜测字段类型,使用如下规则:


image.png

image.png

注意:如果你通过引号 ( "123" ) 索引一个数字,它会被映射为字符串类型 text 和 keyword,而不是 long 。但如果这个字段已经映射为 long ,那么 Elasticsearch 会尝试将这个字符串转化为 long (在 coerce 设置为 true 的情况下),如果无法转化,则抛出一个异常。



 《Elastic Stack 实战手册》——三、产品能力——3.4.入门篇——3.4.2.Elasticsearch基础应用—— 3.4.2.2.理解mapping(中) https://developer.aliyun.com/article/1231103


相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
相关文章
|
9月前
|
存储 人工智能 安全
阿里云中企出海技术分论坛精华概览 | 2025云栖大会回顾
2025云栖大会中企出海技术分论坛聚焦中国企业全球化挑战,阿里云联合易点天下、技威时代等企业,分享从“走出去”到“扎下根”的技术路径。论坛展示阿里云在基础设施、网络、安全、AI与数据库等领域的创新成果,推出全球一张网、AI网关、瑶池数据库等解决方案,助力企业构建安全、智能、敏捷的全球云底座,推动中国技术出海迈向新阶段。
阿里云中企出海技术分论坛精华概览 | 2025云栖大会回顾
|
存储 缓存 自然语言处理
Elasticsearch 内存占用分析及 page cache 监控
Elasticsearch 内存占用相关知识,以及对 lucene 文件的 page cache 进行监控
4604 6
ModuleNotFoundError: No module named ‘openai.error‘
这篇文章讨论了在使用OpenAI库时遇到的`ModuleNotFoundError: No module named ‘openai.error'`错误,并提供了两种解决方案:将OpenAI版本降级到0.28.0或修改代码以去掉对`openai.error`的引用并将异常处理放置到`openai`模块下。
ModuleNotFoundError: No module named ‘openai.error‘
|
11月前
|
数据采集 运维 DataWorks
DataWorks 千万级任务调度与全链路集成开发治理赋能智能驾驶技术突破
智能驾驶数据预处理面临数据孤岛、任务爆炸与开发运维一体化三大挑战。DataWorks提供一站式的解决方案,支持千万级任务调度、多源数据集成及全链路数据开发,助力智能驾驶模型数据处理与模型训练高效落地。
|
8月前
|
缓存 安全 Java
如何在Java中实现多线程编程
Java多线程编程有三种主要方式:继承Thread类、实现Runnable接口、实现Callable接口(结合Future获取结果),推荐使用Runnable避免单继承限制。通过线程池(如ExecutorService)可高效管理线程,提升性能。多线程共享资源时需注意线程安全,使用synchronized或Lock机制保证数据一致性。适用于并发执行、异步计算等场景。
564 1
|
9月前
|
人工智能 数据可视化 数据挖掘
20款低代码开发平台哪个才是适合你的?
本文是个人了解和体验后所写,仅供个人参考,不代表多数人的意见,另产品功能和其他信息请以官方最新信息为准。本文没有任何夹带私货,插入广告的嫌疑。
|
11月前
|
数据采集 供应链 监控
如何开发WMS系统中的经营看板(附架构图+流程图+代码参考)
WMS系统中的经营看板是企业管理仓库运营的重要工具,能够实时展示库存、销售、采购等关键数据。它不仅提高运营效率、降低成本,还助力精准决策。本文详解其功能模块、业务流程、开发技巧及实现效果,并提供代码示例与技术选型建议,帮助企业构建高效的数据可视化系统。
|
监控 Java API
探索Java NIO:究竟在哪些领域能大显身手?揭秘原理、应用场景与官方示例代码
Java NIO(New IO)自Java SE 1.4引入,提供比传统IO更高效、灵活的操作,支持非阻塞IO和选择器特性,适用于高并发、高吞吐量场景。NIO的核心概念包括通道(Channel)、缓冲区(Buffer)和选择器(Selector),能实现多路复用和异步操作。其应用场景涵盖网络通信、文件操作、进程间通信及数据库操作等。NIO的优势在于提高并发性和性能,简化编程;但学习成本较高,且与传统IO存在不兼容性。尽管如此,NIO在构建高性能框架如Netty、Mina和Jetty中仍广泛应用。
646 3

热门文章

最新文章