【创作赢红包】ElasticSerach基础概念知识梳理

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数据类型介绍

2.1 字符串型

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

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

2.2 数值型

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

2.3 布尔型 boolean

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

2.4 二进制类型 binary

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

2.5 范围类型

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

integer_range, float_range, long_range, double_range, date_range

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

2.6 日期型 date

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

format默认为:strict_date_optional_time||epoch_millis

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

2.7 复杂数据类型

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

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

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

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

3、特点

分布式架构:Elasticsearch采用分布式架构,可以在多个节点上分散存储和处理数据,从而提高了数据的可伸缩性和可用性。
实时性:Elasticsearch可以实时地存储和处理数据,使得应用程序可以快速地捕捉和分析实时数据。
自动分片和复制:Elasticsearch可以自动将数据分片,并将数据复制到多个节点上,从而提高了数据的可用性和可靠性。
多种数据格式支持:Elasticsearch支持多种数据格式,包括JSON、XML、CSV等,可以处理各种类型的数据。
搜索和分析:Elasticsearch可以通过简单的API实现全文搜索和复杂的分析,从而可以快速地分析和理解大量的数据。
支持多个搜索引擎:Elasticsearch支持多个搜索引擎,可以同时处理多个搜索请求,从而提高了搜索的性能和效率。
简单易用:Elasticsearch具有简单易用的API和管理工具,使得开发者可以轻松地使用和管理Elasticsearch。
开源免费:Elasticsearch是开源免费的,可以自由地使用和修改,从而满足不同的需求。

4、应用场景举例

网站搜索:Elasticsearch可以用于构建高性能的网站搜索引擎,例如Google、Bing等。在搜索请求中,Elasticsearch可以快速地处理数十亿甚至数百亿的文档,从而提供高性能的搜索服务。

日志分析:Elasticsearch可以用于对日志文件进行搜索和分析,例如Apache、Nginx等。在日志分析中,Elasticsearch可以快速地找到关键字和趋势,帮助用户提高业务效率。

数据分析:Elasticsearch可以用于数据分析和挖掘,例如Facebook、Twitter等。在Facebook和Twitter等社交媒体平台上,每天都会产生海量的数据,Elasticsearch可以快速地处理和分析这些数据,从而发现用户的兴趣、习惯等,为企业提供更好的服务。

物联网:Elasticsearch可以用于物联网设备的数据存储和分析,例如智能家居、智能交通等。在智能家居和智能交通中,每天都会产生大量的数据,Elasticsearch可以将这些数据存储在分布式的节点上,从而实现设备的智能化控制和管理。

数据库备份:Elasticsearch可以用于数据库备份和恢复,例如MySQL、Oracle等。在数据库备份和恢复中,Elasticsearch可以将数据快速地存储在分布式的节点上,从而保证数据的安全性和可用性。

搜索引擎:Elasticsearch可以用于构建高性能的搜索引擎,例如谷歌、百度等。在搜索引擎中,Elasticsearch可以提供全文搜索和复杂的分析功能,帮助用户快速地找到所需的信息。

  • 11
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 9
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT技术分享社区

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值