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

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


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


同时还能配置大量国际标准的时间格式比如:epoch_millis、basic_date、basic_date_time、

strict_date_optional_time_nanos 等,所有可选项可以参照官方文档https://www.elastic.co/guide/en/elasticsearch/reference/7.10/mapping-date-format.html


# 创建测试索引
PUT test-dynamic-mapping
{
  "mappings": {
    "dynamic": true,
    "dynamic_date_formats": ["MM/dd/yyyy"]  # 识别MM/dd/yyyy格式的时间
    "properties": {
      "field1":{
        "type": "keyword"
      }
    }
  }
}
# 插入数据
PUT test-dynamic-mapping/_doc/1
{
  "date":"09/25/2015",
  "date1":"2015/09/25"
}
# 查看mapping变化
{
  "test-dynamic-mapping" : {
    "mappings" : {
      "dynamic" : "true",
      "dynamic_date_formats" : [
        "MM/dd/yyyy"
      ],
      "properties" : {
        "date" : {          # 符合MM/dd/yyyy格式的字符串识别为了date类型
          "type" : "date",
          "format" : "MM/dd/yyyy"
        },
        "date1" : {        # 符合默认yyyy/MM/dd 格式的字符串识未正确识别
          "type" : "text",
          "fields" : {
            "keyword" : {
              "type" : "keyword",
              "ignore_above" : 256
            }
          }
        },
        "field1" : {
          "type" : "keyword"
        }
      }
    }
  }
}

动态模板(Dynamic templates)

 

Elasticsearch 的动态字段映射(Dynamic field mappings)虽然使用简单,但往往不满足现实的业务场景,比如对于整型字段,往往用不着 long 类型,使用 integer 类型就足够了;对于字符串类型的字段,我们希望细化分词方式,而不是使用默认分词,以及对于不同字段采用不同的分词方式等。这时可以使用动态模板(Dynamic templates)功能来实现上述需求。

 

动态模板允许你在创建 mapping 时,设置自定义规则。当新字段满足该规则时,则按照预先的配置来创建字段。

 

Elasticsearch 允许用户通过3个角度来定义规则:新字段的数据类型,属性名和路径。创建 mapping 时可以通过dynamic_templates字段配置多个动态模板。

模板的整体结构如下:

{
  "mappings":{
    "dynamic_templates": [
      {
        "templateName":{   #1
          ……匹配规则……        # 2
          "mapping": { ... } #3      
        }
      }
     ]
  }
}

1、#1 处定义了动态模板的名称,每个动态模板都需要配置名字,本例中配置的模板名称为

templateName

2、#2 处可以使用match_mapping_typematchunmatchmatch_pattern、path_matchpath_unmatch来配置该模板的匹配规则,规则可以是多个,规则之间是的关系

3、#3 处配置的是符合该规则的字段使用的 mapping 配置,此处与正常创建字段相同,主要需要配置typeanalyzer



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

相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
相关文章
|
存储 Java Android开发
Rockchip系列之UART 新增framework系统jni+service接口访问(2)
Rockchip系列之UART 新增framework系统jni+service接口访问(2)
259 1
|
API 数据处理 开发者
获取淘宝分类详情:深入解析taobao.cat_get API接口
淘宝开放平台推出的`taobao.cat_get` API接口,帮助开发者和商家获取淘宝、天猫的商品分类详情。该接口支持获取类目列表、属性及父类目信息,通过指定分类ID(cid)实现精准查询,并提供灵活的参数设置和高效的数据处理。使用流程包括注册账号、创建应用、获取App Key/Secret、构造请求、发送并解析响应。示例代码展示了如何用Python调用此API。开发者可借此为电商项目提供数据支持。
|
Web App开发 前端开发 JavaScript
Promise.allSettled()方法的兼容性如何?
Promise.allSettled()方法的兼容性如何?
1142 174
|
机器学习/深度学习 人工智能 自然语言处理
数字化转型需要的技术:生成式AI时代的全栈能力图谱
本文探讨生成式AI推动下的数字化转型技术需求转变,从技术本质、实施路径、伦理规制三方面解构核心要素。技术本质从工具理性进化到能力体系,需建立模型思维、多模态交互和自主进化能力。实施路径分为认知重构、实验验证与迭代优化三个阶段。同时,文章介绍生成式人工智能认证(GAI认证)的战略价值,强调其在能力基准建立、技术合作及创新生态接入中的作用。最后,文章分析组织能力进化与未来技术前沿,如认知智能、具身智能和群体智能的演进方向,为企业提供全面的技术赋能与战略转型指导。
|
存储 缓存 数据挖掘
《解锁反规范化设计的适用场景:数据库性能优化的深度洞察》
数据库设计中,规范化与反规范化是两种重要策略。规范化减少冗余、确保一致性,而反规范化通过增加冗余提升查询性能,适用于数据查询密集型场景、复杂分析与报表生成、历史数据与日志管理、分布式与缓存架构以及性能优化等场景。例如,在电商平台商品展示中,反规范化可避免多表连接,提高查询效率;在数据分析中,整合相关表简化查询逻辑;在日志管理中,集中存储提升性能。然而,反规范化会带来数据冗余和一致性维护的挑战,需根据业务需求权衡利弊,合理应用以构建高效稳定的数据库系统。
351 6
|
存储 边缘计算 缓存
智联边缘: CDN算网联动新范式
本文介绍了智联边缘计算中CDN算网联动的新范式,涵盖四个方面:1) 淘宝HTTP3升级实践,介绍XQUIC协议栈的研发与应用;2) 阿里云CDN QUIC应用升级,强调其易用性、可靠性和丰富的功能;3) CDN边缘流量计算应用生态矩阵,展示EdgeRoutine在边缘节点上的多种计算形态和存储方案;4) 新一代Web架构,基于边缘应用开发者平台构建低延迟、免运维的前端边缘应用,提升网站性能和用户体验。通过这些技术,实现了高效、安全、低延迟的网络传输和边缘计算能力。
540 2
|
算法 调度 SoC
基于飞轮和蓄电池的混合储能充放电控制系统simulink建模与仿真
本研究针对基于飞轮和蓄电池的混合储能充放电控制系统进行Simulink建模与仿真,通过改进控制算法显著提升系统性能。仿真结果显示,改进后的算法不仅提高了充电效率,缩短了充电时间,还优化了电池从放电到充电的切换过程,有效减少了电流过冲现象,延长了蓄电池的使用寿命。此外,飞轮储能的速度和稳定性也得到了明显改善。系统采用MATLAB2022a版本进行开发,详细介绍了飞轮和蓄电池储能系统的原理及其数学模型。
|
资源调度 监控 大数据
大数据计算资源管理
【10月更文挑战第25天】
535 4
|
人工智能 搜索推荐 API
CRM系统效能评测:年度最佳排行榜
在信息化时代,客户关系管理(CRM)成为企业提升竞争力的关键工具。本文对市场上主流的十款CRM系统进行深度评测,涵盖销售易、神州云动、八骏科技、红圈、天衣云、简道云、金蝶云之家、悟空、八百客和销帮帮。从品牌介绍、产品功能、优势特色及适用企业等方面进行全面剖析,帮助企业选择最适合自己的CRM解决方案。
|
机器学习/深度学习 人工智能 供应链
数据素养如何帮助GenAI提高陶氏化学公司的生产力
数据素养如何帮助GenAI提高陶氏化学公司的生产力
数据素养如何帮助GenAI提高陶氏化学公司的生产力

热门文章

最新文章