ElasticSearch学习(二)数据类型

一、类型概述

在这里插入图片描述

二、核心类型

一.字符串类型

1、keyword

使用keyword类型的字段,其不会被分析,给什么值就原封不动地按照这个值索引,所以关键字字段只能按其确切值进行搜索,通常用于过滤、排序和聚合。

2、text

当一个字段是要被全文搜索的,比如Email内容、产品描述,应该使用text类型。设置text类型以后,字段内容会被分析,在生成倒排索引以前,字符串会被分析器分成一个一个词项。text类型的字段不用于排序,很少用于聚合。

3、string(已经弃用)

string类型在ElasticSearch 旧版本中使用较多,从ElasticSearch 5.x开始不再支持string,由text和keyword类型替代。

二.整数类型

在满足需求的情况下,尽可能选择范围小的数据类型,字段的长度越短,索引和搜索的效率越高。

1、long

2、integer

3、short

4、byte

三.浮点类型

不同精度的浮点数

1、double

2、floar

3、half_float

4、scaled_float

四.逻辑类型:boolean类型

逻辑类型(布尔类型)可以接受true/false/”true”/”false”值

五.日期类型:data

JSON中没有date类型,es中的date可以由下面3种方式表示:

  1. 格式化的date字符串,例如"2018-01-01"或者"2018-01-01 12:00:00"
  2. 一个long型的数字,代表从1970年1月1号0点到现在的毫秒数
  3. 一个integer型的数字,代表从1970年1月1号0点到现在的秒数

六.范围类型

具有大小关系的一个值区间,所以会用到gt、gte、lt、lte…等逻辑表示符。ES支持下面6种范围数据类型:

1、integer_range

integer_range,带符号的32位整数区间,最小值-231,最大值231-1

2、long_range

带符号的64位整数区间,最小值-263,最小值263-1

3、float_range

float_range,单精度32位IEEE 754浮点数区间

4、double_range

double_range,双精度64位IEEE 754浮点数区间

5、date_range

date_range,日期值范围,表示为系统纪元以来经过的无符号64位整数毫秒

6、ip_range

ip_range,支持IPv4或IPv6(或混合)地址ip值范围

七.二进制类型:binary

二进制字段是指用base64来表示索引中存储的二进制数据,可用来存储二进制形式的数据,例如图像。默认情况下,该类型的字段只存储不索引。二进制类型只支持index_name属性。

三、复合类型

一.数组类型array

数组类型。默认情况下,任何字段都可以包含零个或多个值,当包含多个值时,它就表示array datatype了。但是,数组中的所有值必须具有相同的数据类型(要么同为字符串,要么同为整型,不能数组中一些值为字符串,另一些值为整型)。

{
"intList":[1,2,3,4,5],
"stringList":["a","b","c"]
}

使用array datatype,不需要预先配置,它们是开箱即用的。(不像整型,它需要手动定义type: “integer”)
使用_mapping查看索引的映射类型时,array datatype不会被写出来,还是以数组的元素的基本类型来表示
图片链接
在这里插入图片描述

二.对象类型object

object其实也是嵌套的类型,外部是一个JSON对象,里面包含了一个内部对象。
图片链接
在这里插入图片描述
只要字段的数据类型是object datatype,它就会有一个properties映射,该映射罗列出该字段的内部对象字段,然后内部对象再定义其每个字段的数据类型。

三.嵌套类型nested

四、地理类型(我没用过,了解即可)

一.地图坐标类型geo-point

geo-point datatype,地址位置数据类型,可以用来表示经纬度。

二.地理地图geo-shape

geo-shape datatype,即地理形状数据类型,当被索引的数据包含除地理点之外的形状(如长方形、圆形…)时,使用此数据类型。geo-shape映射将GeoJSON(一种对各种地理数据结构进行编码的格式)映射到geo-shape类型。

五、特殊类型

待补充

一.IP类型

二.范围类型

三.令牌计数类型

四.附件类型

五.抽取类型

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你好!关于学习Elasticsearch,我可以给你一些指导。Elasticsearch是一个开源的分布式搜索和分析引擎,主要用于快速、实时地存储、搜索和分析大量数据。下面是一些学习Elasticsearch的步骤: 1. 了解基本概念:开始学习Elasticsearch之前,你需要了解一些基本的概念,比如索引(index)、类型(type)、文档(document)、字段(field)等。这将帮助你更好地理解Elasticsearch的工作原理。 2. 安装和配置:根据你的操作系统,你可以从Elasticsearch官方网站下载并安装合适的版本。安装完成后,你需要进行适当的配置,如设置集群名称、分配内存等。 3. 学习REST API:Elasticsearch提供了丰富的REST API,用于与其进行交互。了解如何使用这些API来索引、搜索和删除数据学习Elasticsearch的重要一步。 4. 索引和搜索数据学习如何创建索引、添加文档以及执行搜索操作是使用Elasticsearch的关键。掌握查询语法、过滤器、聚合操作等功能可以帮助你更有效地使用Elasticsearch。 5. 数据建模和分析:学习如何设计合适的数据模型和映射,以及如何使用Elasticsearch进行数据分析和可视化是提高你的技能的重要一步。 6. 扩展和优化:学习如何在生产环境中扩展和优化Elasticsearch集群是非常重要的。了解如何分片、复制、调优性能等将帮助你更好地管理和维护你的数据。 7. 学习资源:除了官方文档,还有很多优秀的学习资源可供参考,如书籍、教程和在线课程等。利用这些资源可以更系统地学习和掌握Elasticsearch。 希望这些步骤能对你学习Elasticsearch有所帮助!如果有任何问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值