带你读《Elastic Stack 实战手册》之25:——3.4.2.10.Dynamic Mapping(3)

本文涉及的产品
Elasticsearch Serverless通用抵扣包,测试体验金 200元
简介: 带你读《Elastic Stack 实战手册》之25:——3.4.2.10.Dynamic Mapping(3)

《Elastic Stack 实战手册》——三、产品能力——3.4.入门篇——3.4.2.Elasticsearch基础应用——3.4.2.10.Dynamic Mapping(2) https://developer.aliyun.com/article/1230518



8、索引新文档时增加company.company_name字段

9、由于company对象dynamic:strict,所以创建文档的请求返回了 1 个strict_dynamic_mapping_exception错误

 

对于JSON 中的字段 遵循以下映射方式发现新属性。


image.png

image.png


对于 JSON 中的字符串字段,我们可以通过配置date_detection: truenumeric_detection:true尝试将它们转化成数值类型或时间类型,date_detection默认为 true,numeric_detection默认为 false。


在识别数字时,所有整型字符串会识别成long型,带小数的字符串会识别成float类型。默认情况下yyyy/MM/dd HH:mm:ssyyyy/MM/ddepoch_millis格式的字符串会识别成date类型。


# 创建测试索引
PUT test-dynamic-mapping
{
  "mappings": {
    "dynamic": true,
    "numeric_detection": true, # 1
    "properties": {
      "field1":{
        "type": "keyword"
      }
    }
  }
}
# 插入数据
PUT test-dynamic-mapping/_doc/1
{
  "date":"2021/05/01", # 2
  "float":"1.1", # 3
  "long":"1" # 4
}
# 查看 mapping 变化
GET test-dynamic-mapping
{
  "test-dynamic-mapping" : {
     "mappings" : {
      "dynamic" : "true",
      "numeric_detection" : true,
      "properties" : {
         "date" : {    # 5
          "type" : "date",
          "format" : "yyyy/MM/dd HH:mm:ss||yyyy/MM/dd||epoch_millis"
        },
        "field1" : {
          "type" : "keyword"
        },
        "float" : {   #6
          "type" : "float"
        },
        "long" : {   # 7
          "type" : "long"
        }
      }
    }
  }
}

1、#1 处在创建索引时设置字符串可以自动识别为数值类型

2、#2 处 date 字段条是符合时间格式的字符串

3、#3 处 float 字段是符合小数格式的字符串

4、#4 处 long 字段是符合整型格式的字符串

5、#5 处 date 字段加入 mapping 并被自动识别成了 date 类型

6、#6 处 float 字段加入 mapping 并被自动识别成了 float 类型

7、#7 处 long 字段加入 mapping 并被自动识别成了 long 类型

 

Elasticsearch 识别日期字符串的格式,是可以通过dynamic_date_formats来配置。该字段支持使用ymdh等字符自定义格式,具体方式与 Java 中DateTimeFormatter对象实现的规则相同。

 


《Elastic Stack 实战手册》——三、产品能力——3.4.入门篇——3.4.2.Elasticsearch基础应用——3.4.2.10.Dynamic Mapping(4) https://developer.aliyun.com/article/1230516

相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
相关文章
|
11月前
|
缓存 负载均衡 网络协议
|
前端开发 JavaScript
React 中的 props 属性传递技巧
【9月更文挑战第6天】本文详细介绍了React中`props`的基本用法,包括传递基本数据类型、对象和数组。文章通过多个代码示例展示了如何正确使用`props`,并探讨了常见的问题及解决方法,如`props`不可变性、默认值设置及类型检查等。正确掌握这些技巧有助于提升编程效率,编写出更健壮的代码。
247 17
|
12月前
|
存储 搜索推荐 云栖大会
我在云栖大会等你——来PAI Artlab定格你的云栖记忆!
要使用PAI ArtLab平台生成个性化图像,请先注册阿里云账号并完成实名认证,然后访问PAI ArtLab并按提示授权开通服务。进入平台后,领取免费试用资源,并通过“ComfyUI”工具上传肖像照片,设定场景和参数,一键生成专属图像。如需调整效果,可修改Seed参数重新生成。平台采用按量计费模式,请确保领取免费资源以避免额外扣费。
243 3
|
12月前
|
人工智能 算法 NoSQL
GraphRAG 与 RAG 的比较分析
Graph RAG 技术通过引入图结构化的知识表示和处理方法,显著增强了传统 RAG 系统的能力。它不仅提高了信息检索的准确性和完整性,还为复杂查询和多步推理提供了更强大的支持。
1347 10
|
SQL 监控 关系型数据库
mysql统计数据库大小
通过这些方法,数据库管理员可以有效地监控和规划MySQL数据库的存储需求,确保数据库的稳定运行。
481 3
|
应用服务中间件 nginx
Nginx 配置,自定义日志格式 log_format
Nginx 配置,自定义日志格式 log_format
330 0
|
开发框架 前端开发 JavaScript
循序渐进BootstrapVue,开发公司门户网站(3)--- 结合邮件发送,收集用户反馈信息
循序渐进BootstrapVue,开发公司门户网站(3)--- 结合邮件发送,收集用户反馈信息
Vue3+Vite+Pinia+Naive后台管理系统搭建之二:scss 的安装和使用
Vue3+Vite+Pinia+Naive后台管理系统搭建之二:scss 的安装和使用
327 0
|
机器学习/深度学习 数据可视化 Python
使用LIME解释各种机器学习模型代码示例
机器学习模型变得越来越复杂和准确,但它们的不透明性仍然是一个重大挑战。理解为什么一个模型会做出特定的预测,对于建立信任和确保它按照预期行事至关重要。在本文中,我们将介绍LIME,并使用它来解释各种常见的模型。
905 0
|
druid 关系型数据库 MySQL
数据库连接池性能比对
数据库连接池性能比对
365 0