Elasticsearch基础_2.数据类型

文章目录

一、基本的数据类型

1.1、keyword

keyword类型是不进行切分 的字符串类型。这里的"不进行切分"指的是:在索引时,对keyword类型的数据不进行切分,直接构建倒排索引;在搜索时,对该类型的查询字符串不进行切分后的模糊匹配。一般查询这种类型的数据时使用term查询。

1.2、text

text类型是可进行切分 的字符串类型。这里的"可切分"指的是:在索引时,可按照相应的切词算法对文本内容进行切分,然后构建倒排索引;在搜索时,对该类型的查询字符串按照用户的切词算法进行切分,然后对切分后的模糊匹配程度打分。一般情况下,搜索text类型的数据时应该使用match搜索。

1.3、数值类型

ES支持的数值类型有long、integer、short、byte、double、float、half_float、scaled_float和unsigned_long等。对于数值型数据,一般使用term搜索或范围搜索

1.4、布尔类型

布尔类型使用boolean定义,用于表示业务中的二义性。写入或查询该类型的数据时,其值可以使用true或false,或者使用字符串类型的"true"或"false"。

1.5、时间类型

在ES中,日期类型的名称为date。ES中存储的日期是标准的UTC格式。

一般使用如下形式表示日期类型数据:

  • 格式化的日期字符串
  • 毫秒级的长整型,表示从1970年1月1日0点到现在的毫秒数
  • 秒级别的整型,表示从1970年1月1日0点到现在的秒数

日期类型的默认格式为strict_date_optional_time||epoch_millis。其中strict_date_optional_time 的含义为严格的时间类型,支持yyyy-MM-dd,yyyyMMdd,yyyyMMddHHmmss,yyyy-MM-ddTHH:mm:ss,yyyy-MM-ddTHH:mm:ss.SSS和yyyy-MM-ddTHH:mm:ss.SSSZ等格式,epoch_millis的含义是从1970年1月1日0点到现在的毫秒数。

日期类型默认不支持yyyy-MM-dd HH:mm:ss格式,如果经常使用这种格式,可以在索引的mapping中设置日期字段的format属性为自定义格式。下面的示例将设置create_time字段的格式为yyyy-MM-dd HH:mm:ss

yaml 复制代码
PUT /hotel
{
  "mappings":{
    "properties":{
      "title":{
        "type":"text"
      },
      "create_time":{
        "type":"date",
        "format":"yyyy-MM-dd HH:mm:ss"
      }
    }
  }
}

二、复杂的数据类型

ES的复杂数据类型还有数组类型、对象类型、地理类型和多字段等,工作中还没接触到,所以不做记录。

三、字段映射

当字段没有定义类型时,ES可以根据写入的数据自动定义该字段的数据类型,这种机制叫做动态映射。在一般情况下,如果使用基本数据类型数据,最好先把数据类型定义好,因为ES的动态映射生成的字段类型可能与用户的预期有差别。

相关推荐
AAA修煤气灶刘哥41 分钟前
MySQL 查文本查哭了?来唠唠 ES 这货:从 “啥是 ES” 到 Java 撸代码,一篇整明白!
java·后端·elasticsearch
Elasticsearch5 小时前
什么是上下文工程 (Context Engineering)?
elasticsearch
白毛大侠6 小时前
如何安全地删除与重建 Elasticsearch 的 .watches 索引
大数据·elasticsearch·jenkins
Elastic 中国社区官方博客7 小时前
Elasticsearch 的 JVM 基础知识:指标、内存和监控
java·大数据·elasticsearch·搜索引擎·全文检索
Arthurmoo7 小时前
Git常用命令大全:高效开发必备
大数据·elasticsearch·搜索引擎
华农第一蒟蒻21 小时前
Elasticsearch赋能3D打印机任务统计分析
java·大数据·spring boot·后端·elasticsearch·adb·maven
Elasticsearch1 天前
转变数据交互:在 Amazon Bedrock AgentCore Runtime 上部署 Elastic 的 MCP 服务器以构建 agentic AI 应用
elasticsearch
赤月幼狼1 天前
elasticsearch学习(五)文档CRUD
学习·elasticsearch
在未来等你1 天前
Elasticsearch面试精讲 Day 8:聚合分析与统计查询
大数据·分布式·elasticsearch·搜索引擎·面试
知彼解己2 天前
Elasticsearch 核心知识与常见问题解析
大数据·elasticsearch·搜索引擎