1 ES简介
1 es介绍
# Elasticsearch 是一个基于Lucene的 分布式 搜索 和 分析引擎 -->存数据的地方,专注于大数据量的搜索
# 开源的高扩展的分布式全文检索引擎
# 企业里用搜索,使用es居多
# 在Apache许可条款下开放源码发布
-apache web服务器软件
-Apache公司,开源组织,全球顶级的开源组织---》开源了一些代码---》第三方机构要把自己的代码开源---》捐给Apache基金会---》安排人给维护开源项目
-顶级开源项目(主推)
-kafka:消息队列
-百度echars,捐给了它
# 使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,使得全文检索变得简单
# slor和es 类似于 mysql和oracle的关系
1.1 es的5个概念
#### 2.4.1 Cluster:集群-->多台es的服务器
ES可以作为一个独立的单个搜索服务器。不过,为了处理大型数据集,实现容错和高可用性,ES可以运行在许多互相合作的服务器上。这些服务器的集合称为集群。
#### 2.4.2 Node:节点--》每台es服务器是一个节点
形成集群的每个服务器称为节点。
#### 2.4.3 Shard:分片---》数据分片
当有大量的文档时,由于内存的限制、磁盘处理能力不足、无法足够快的响应客户端的请求等,一个节点可能不够。这种情况下,数据可以分为较小的分片。每个分片放到不同的服务器上。
当你查询的索引分布在多个分片上时,ES会把查询发送给每个相关的分片,并将结果组合在一起,而应用程序并不知道分片的存在。即:这个过程对用户来说是透明的。
#### 2.4.4 Replia:副本
为提高查询吞吐量或实现高可用性,可以使用分片副本。
副本是一个分片的精确复制,每个分片可以有零个或多个副本。ES中可以有许多相同的分片,其中之一被选择更改索引操作,这种特殊的分片称为主分片。
当主分片丢失时,如:该分片所在的数据不可用时,集群将副本提升为新的主分片。
#### 2.4.5 全文检索---》在一篇文章中搜索要找的内容
全文检索就是对一篇文章进行索引,可以根据关键字搜索,类似于mysql里的like语句。
全文索引就是把内容根据词的意义进行分词,然后分别创建索引,例如”今日是周日我们出去玩” 可能会被分词成:“今天“,”周日“,“我们“,”出去玩“ 等token,这样当你搜索“周日” 或者 “出去玩” 都会把这句搜出来。
1.2 跟关系型数据库的比较
mysql es
库 索引
表 类型
一行行数据 文档
一个个字段 映射
索引 一切皆索引
sql语句 格式化查询语言 DSL
select get post,put。。。
2 es安装
3 es客户端安装
4 倒排索引
5 索引操作
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话