美文网首页es
数据类型

数据类型

作者: 习惯了_就好 | 来源:发表于2025-03-10 17:02 被阅读0次
图片.png
图片.png
object类型:
处理JSON对象,比如一个文档中的嵌套对象。例如,用户信息中的地址可能包含省、市、街道等字段,这时候可以用object类型。不过,object类型在处理数组对象时,会将数组中的每个对象合并,导致无法单独查询数组中的某个元素。例如,用户可能有多个地址,如果使用object类型,查询时可能会得到不正确的结果,因为Elasticsearch会将所有字段展开,导致数据混合。
nested类型:
处理对象数组,每个数组元素作为独立的文档存储,这样每个元素可以独立查询。例如,订单中的商品列表,每个商品可能有多个属性,使用nested类型可以确保每个商品的信息被独立索引,查询时可以精确匹配某个商品的属性,而不会与其他商品混淆。
flattened类型:
处理动态或未知结构的字段,将整个JSON对象存储为键值对,避免字段爆炸。例如,日志数据中的元数据可能有各种动态字段,使用flattened类型可以避免字段过多导致索引压力过大,同时保留数据的结构化信息。不过,这种类型不支持复杂的查询,比如全文搜索,因为所有值都被视为关键字。 图片.png
图片.png

五、数组与多字段特性
数组支持 ES不专门定义数组类型,任何字段都可包含多个值(但需保证类型一致):

   "tags": ["elasticsearch", "database", "nosql"]  // keyword数组
   多字段映射 (Multi-fields) 单个字段支持多种数据类型处理(常见于text与keyword组合):
   "title": {
     "type": "text",          // 全文搜索
     "fields": {
       "keyword": { 
         "type": "keyword"    // 精确匹配
       }
     }
   }

六、选型建议
文本处理
需要分词搜索 → text + 分词器(如ik_smart)
需要精确匹配 → keyword
数值处理
根据范围选择最小类型(如byte > short > integer > long)
嵌套关系
对象数组需独立查询 → nested
仅存储不查询 → object
特殊需求
IP分析 → ip
自动补全 → completion

相关文章

  • JAVA 之路第一讲

    数据类型: 基础数据类型 包装器数据类型 引用数据类型 null 数据类型 基础数据类型: 整型 byte(字节型...

  • php 数据类型和数据类型转化

    一、数据类型 基础数据类型 复合数据类型 特殊数据类型 二、获取数据类型 三、打印数据类型和值 四、数据类型判断 ...

  • OC和C中的数据类型

    数据类型对比 C语言数据类型C语言数据类型 OC数据类型

  • JAVA 核心笔记 || [2] 数据类型

    JAVA数据类型分为两大数据类型: 1.内置数据类型2.引用数据类型 内置数据类型 引用数据类型 上篇 : 开篇 ...

  • 数据类型

    数据类型作用:数据类型不同,空间大小不同。 数据类型分类:基本数据类型、引用数据类型基本数据类型:整数型、浮点型、...

  • Java知识之数据类型

    Java数据类型图表## Java数据类型分为:### 基础数据类型 引用数据类型 null类型 基础数据类型分別...

  • JAVA基础第四天

    JAVA数据类型---布尔类型; 数据类型转换自动数据类型转换 强制数据类型转换

  • Java数据类型(慢慢积累,对于事物的理解也会不一样)

    Java的数据类型: 1. 内置数据类型(基本数据类型); 2. 引用数据类型; Java基本数据类型:(...

  • 【IOS 开发】 数据类型详解

    1. 数据类型简介及输出 (1) 数据类型简介 数据类型简介: Object - C 数据类型 分为 基本数据类型...

  • iOS 数据类型简介及输出

    一、数据类型简介及输出 1.数据类型简介 数据类型简介 : Object - C 数据类型 分为 基本数据类型, ...

网友评论

    本文标题:数据类型

    本文链接:https://www.haomeiwen.com/subject/fsiymjtx.html