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的动态映射生成的字段类型可能与用户的预期有差别。

相关推荐
一次旅行9 小时前
【效率秘籍】Shell 函数+别名组合拳,让 80% 的重复命令变 1 个字母
大数据·elasticsearch·搜索引擎
暖和_白开水10 小时前
数据分析agent(九):es_client_manager.py 和分词器ik_max_word问题
elasticsearch·数据分析·c#
码农学院10 小时前
Elasticsearch构建汽车零配件智能搜索与匹配系统
大数据·elasticsearch·汽车
Elastic 中国社区官方博客1 天前
不到 5 分钟完成本地部署:Jina embedding 模型现已支持本地部署
大数据·人工智能·elasticsearch·搜索引擎·embedding·jina
二进制流水搬运工1 天前
入职第一天拉了23个仓库,我写了个脚本解放双手
大数据·elasticsearch·搜索引擎
Elasticsearch1 天前
在不到一小时内将 Datadog Kubernetes 仪表板迁移到 Elastic Observability
elasticsearch
.柒宇.1 天前
Elasticsearch 核心概念与系统架构详解
elasticsearch·系统架构
风行無痕1 天前
单机Elasticsearch 8.19.18安全升级到9.4.3的过程
大数据·elasticsearch·搜索引擎
Elastic 中国社区官方博客1 天前
使用重新设计的 AutoOps 更快地进行 Elasticsearch 问题排查
大数据·运维·前端·人工智能·elasticsearch·搜索引擎·全文检索
阿拉雷️1 天前
【搜索实战】Spring Boot 3.3 + AI Agent × Elasticsearch:让AI自动优化搜索策略,查询速度从2秒压到50毫秒
人工智能·spring boot·elasticsearch