ElasticSerach基础概念知识梳理
创始人
2025-06-27 21:30:55
0

ES概念介绍

Elaticsearch,简称为ES, ES是一个开源的高扩展的分布式全文搜索引擎,是整个Elastic Stack技术栈的核心。它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据。

1、ES核心概念组成

● 索引 index:一个索引相当于一个关系数据库的数据库。

● 类型 type:一种type相当于关系数据库的一类数据表,在ES 7.x默认type为_doc。

ES 5.x中一个索引(index)可以有多种type。

ES 6.x中一个索引(index)只能有一种type。

ES 7.x版本以后,将逐步淡化type这个概念,现在的操作已经不再使用,默认_doc。

● 映射 mapping:mapping定义了每个字段的类型、字段所使用的分词器信息。相当于关系型数据库中的表结构。

● 文档 document:一个document相当于关系型数据库中数据表的一行记录。

● 倒排索引:一个倒排索引由文档中所有不重复词的列表构成,对于其中每个词都有包含它的文档id列表。

● 字段 field:相当于关系型数据库表的字段名称。

2、ES数据类型介绍

(1)字符串型

text:用于全文索引,该类型的字段将通过分词器 进行分词。

keyword:不进行分词,只能搜索该字段的完整的值。

(2)数值型

long, integer, short, byte, double, float, half_float, scaled_float。

(3)布尔型 boolean

boolean JSON 中的 “true”、“false”、true、false 都可以.

(4)二进制类型 binary

该类型的字段把值当做经过 base64 编码的字符串,默认不存储,且不可搜索。

(5)范围类型

范围类型表示值是一个范围,而不是一个具体的值。

integer_range, float_range, long_range, double_range, date_range

比如:age 的类型是 integer_range,如果存储的值是 {"gte" : 18, "lte" : 90};搜索 "term" : {"age": 60} 可以查询到该值。

(6)日期型 date

因为Json没有date类型,所以es通过识别字符串是否符合format定义的格式来判断是否满足date类型。

format默认为:strict_date_optional_time||epoch_millis。

"2023-01-31" "2023/01/31 12:10:30" 类似这种字符串格式。

(7)复杂数据类型

● 数组:[ ] Nested: nested (数组类型的JSON对象)。

比如:[ { "name": "小张", "age": 30 }, { "name": "小李", "age": 35 }]。

● 对象:{ } Object: object(单个JSON对象)。

比如:{ "name": "小李", "age": 35 }。

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...