02.Elasticsearch基础概念


本章节我们会简单介绍一下es的相关基础知识,可能有点枯燥,但是请耐心阅读,这个是后续我们操作的基础。

1.名词比对

我整理了一张表格,用我们更为熟悉的关系型数据库进行对比,让大家便于理解。

序号Es名词Mysql名词
1indexmysql中的具体数据库
2typemysql中的表,在es7.*的版本被抛弃,就认为一个库只有一个表即可。
3documentmysql中某个表中的某一行数据
4mappingmysql表中的字段的类型

2.数据类型

Es为了方便检索,提供了丰富的数据类型,我们就对这些数据类型进行简单的介绍。

2.1 字符串类型

Text:

当一个字段需要用于全文搜索(会被分词), 比如产品名称、产品描述信息, 就应该使用text类型. text的内容会被分词,可以设置是否需要存储: “index”: “true|false”. text类型的字段不能用于排序, 也很少用于聚合.

Keyword:

当一个字段需要按照精确值进行过滤、排序、聚合等操作时,
就应该使用keyword类型,简单说就是全文匹配的词。keyword的内容不会被分词, 可以设置是否需要存储: “index”: “true|false”.

2.2 数值类型

序号类型说明
1byte有符号的8位整数, 范围: [-128 ~ 127]
2short有符号的16位整数, 范围: [-32768 ~ 32767]
3integer有符号的32位整数, 范围: [−231−231 ~ 231231-1]
4long有符号的64位整数, 范围: [−263−263 ~ 263263-1]
5float32位单精度浮点数
6double64位双精度浮点数
7half_float16位半精度IEEE 754浮点类型
8scaled_float缩放类型的的浮点数, 比如price字段只需精确到分, 57.34缩放因子为100, 存储结果为5734

2.3 日期类型

date:

JSON没有日期数据类型,。
所以在ES中, 日期可以是: 包含格式化日期的字符串, “2018-10-01”, 或"2018/10/01
12:10:30". 代表时间毫秒数的长整型数字. 代表时间秒数的整数.

2.4 范围类型

范围类型常用语统计在某一个区间内的值。
比如工资序列:
初级程序员 工资在3000.00~5000.00之间。
中级程序员 工资在4000.00~7000.00之间。
如果需要统计工资在4000.00左右的岗位,则可使用范围类型。

序号类型说明
1integer_range−231−231 ~ 231−1231−1
2long_range−263−263 ~ 263−1263−1
3float_range32位单精度浮点型
4double_range64位双精度浮点型
5date_range64位整数, 毫秒计时
6ip_rangeIP值的范围, 支持IPV4和IPV6, 或者这两种同时存在

2.5 布尔型

可以接受表示真、假的字符串或数字。
真值: true, “true”, “on”, “yes”, “1”…
假值: false,“false”, “off”, “no”, “0”, “”(空字符串), 0.0, 0

3. 小结

本章节比较枯燥,主要是介绍es的基础数据类型,下一章节我们将通过实操,实现创建索引、设置mapping等一些操作,希望本章节能对你有所帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值