您的位置:首页 > 其它

Elasticsearch核心技术与实战

2020-06-26 22:23 1806 查看

1、ES概念

ElasticSearch是一个分布式,高性能、高可用、可伸缩的搜索和分析系统,支持海量数据搜索与分析,可以用于电商网站、门户网站、企业IT系统等各种场景下的搜索引擎,也可以用于对海量的数据进行近实时(秒级)的数据分析。

1.1集群:
多台Es服务器的结合的统称叫ES集群,一个集群包含多台服务器,多个节点。集群中有很多结点,结点与结点之间可以进行配置。比如:Node1主结点,非数据结点。(协调创建索引、查询请求)Node2非主结点,数据结点。Node3非主结点,非数据(负载 均衡,组装返回的数据给客户端。)

1.2节点
一个节点是集群中的一个服务器,作为集群的一部分,它存储你的数据,参与集群的索引和搜索功能。
节点分类:主节点、数据节点、路由节点、预处理节点。

  • 主节点,主节点的主要职责是和集群操作相关的内容,如创建或删除索引,跟踪哪些节点是集群的一部分,并决定哪些分片分配给相关的节点。稳定的主节点对集群的健康是非常重要的。
  • 数据节点,数据节点主要是存储索引数据的节点,主要对文档进行增删改查操作,聚合操作等。数据节点对CPU、内存、IO要求较高,在优化的时候需要监控数据节点的状态,当资源不够的时候,需要在集群中添加新的节点。
  • 负载均衡节点,当一个节点既不配置为主节点,也不配置为数据节点时,该节点只能处理路由请求,处理搜索,分发索引操作等,从本质上来说该客户节点表现为智能负载平衡器。

1.3索引(index):
在ES中, 索引是一组文档的集合。
1.4 文档(doc):
它是以JSON格式定义的特定方式的字段集合。每个文档都属于一个类型,并驻留在一个索引中。每个文档都有一个唯一的标识符,称为UID。
1.5分片(shard):
因为ES是个分布式的搜索引擎, 所以索引通常都会分解成不同部分, 而这些分布在不同节点的数据就是分片. ES自动管理和组织分片, 并在必要的时候对分片数据进行再平衡分配。
1.6副本(replica):
ES默认为一个索引创建5个主分片, 并分别为其创建一个副本分片。
1.7段(segement):
Lucene索引是由多个段组成,段本身是一个功能齐全的倒排索引,使用一个commit文件,记录索引内所有的segment。
段是不可变的,允许Lucene将新的文档增量地添加到索引中,而不用从头重建索引。
对于每一个搜索请求而言,索引中的所有段都会被搜索,并且每个段会消耗CPU的时钟周、文件句柄和内存。这意味着段的数量越多,搜索性能会越低。
为了解决这个问题,Elasticsearch会合并小段到一个较大的段,提交新的合并段到磁盘,并删除那些旧的小段
1.8 倒排索引

1.9分词器(Analysis 和 Analyzer)

分词器(standard)


分词器(keyword)

分词器(stop)

中文分词(需要安装,下载后解压到plugin目录)

2、ES CRUD过程

3、常用接口

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: