当前位置: 首页 > news >正文

Elasticsearch基础_2.数据类型

文章目录

  • 一、基本的数据类型
    • 1.1、keyword
    • 1.2、text
    • 1.3、数值类型
    • 1.4、布尔类型
    • 1.5、时间类型
  • 二、复杂的数据类型
  • 三、字段映射

一、基本的数据类型

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

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

二、复杂的数据类型

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

三、字段映射

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

http://www.lryc.cn/news/453613.html

相关文章:

  • docker快速安装ELK
  • GS-SLAM论文阅读笔记-CaRtGS
  • 15分钟学 Python 第36天 :Python 爬虫入门(二)
  • Spring:强制登陆与拦截器
  • MySQL-数据库约束
  • 线性表三——队列queue
  • 算法笔记(十)——队列+宽搜
  • webpack配置全面讲解【完整篇】
  • 十、kotlin的协程
  • vscode qt 最新开发环境配置, 基于最新插件 Qt All Extensions Pack
  • 【MySQL】Ubuntu环境下MySQL的安装与卸载
  • C# StringBuilder类:高效构建和修改字符串的利器
  • AVL平衡树(AVL Tree)
  • 【python实操】python小程序之两数取大值以及login登录
  • Pikachu-File Inclusion-远程文件包含
  • TIM(Timer)定时器的原理
  • Microsoft Visual Studio有多油饼
  • Golang | Leetcode Golang题解之第452题用最少数量的箭引爆气球
  • Python 从入门到实战35(进程-multiprocessing模块)
  • “米哈游悄然布局未来科技:入股星海图,共绘具身智能机器人新篇章“
  • 基于spring boot的篮球论坛系统
  • 华夏ERP账号密码泄露漏洞
  • Android问题笔记五十:构建错误-AAPT2 aapt2-7.0.2-7396180-windows Daemon
  • CAD 3dsmax maya等autodesk系列专用卸载修复工具AutoRemove,一键完全彻底卸载删除软件的专用卸载工具
  • python中的函数介绍
  • LinuxO(1)调度算法
  • 安防监控/视频系统EasyCVR视频汇聚平台如何过滤134段的告警通道?
  • SDKMAN!安装Maven
  • [NeurIPS 2022] STaR: Bootstrapping Reasoning With Reasoning
  • C++中对象的构造与析构