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。。。

 

image-20191223153358211

2 es安装

3 es客户端安装

4 倒排索引

5 索引操作

 

 

 

posted @ 2022-03-11 08:51  甜甜de微笑  阅读(314)  评论(0编辑  收藏  举报