ES2 知识-Es入门

一、ES基本概念

1.1 文档

Es是面向文档得,文档是所有可搜索的最小单位

        日志文件中的日志项

        一本电影具体信息/一张唱片相信信息

        MP3播放器里的一首歌/一篇PDF文档中的具体内容

文档被序列化为JSON格式,保存到ES中

        JSON对象由字段组成,

        每个字段都有对应的字段类型(字符串/数值/布尔/日期/二进制/范围类型)

每个文档都有一个Unique ID

        可以自己指定ID

        或者选自ES自动生成ES2 知识-Es入门_第1张图片

1.2 索引

ES2 知识-Es入门_第2张图片

        索引类型

ES2 知识-Es入门_第3张图片

        关系型数据库与ES对比

ES2 知识-Es入门_第4张图片

二、节点、集群、分片和副本

2.1 节点

        节点是一个ES实例

                本质上就是一个JAVA进程

                一台机器上可以运行多个ES进程,但是生产环境一般建议一台机器上只运行一个ES实例

        每个节点都有一个名字,通过配置文件配置,或者启动时候 -E node.name=node1 指定

        每一个节点启动之后,会分配以一个UID,保存在data目录下

2.2 Master-eligible nodes 和 Master Node

        每个节点启动后,默认是一个Master eligible 节点

                可以设置 node.master: false 禁止

        Master-eligible 节点可以参加选主流程,成为Master节点

        当第一个节点启动的时候,他会将自己选举成Master节点

        每个节点上都保存了集群的状态,只有Master节点才能修改集群状态信息

                集群状态(Cluster State),维护一个集群中,必要的信息

                        所有的节点信息

                        所有的索引和其相关的Mapping与Setting信息

                        分片的路由信息

                任意节点都能修改信息会导致数据的不一致性

2.3 节点类型,Data Node & Coordinating Node

        Data Node

                可以保存数据的节点,叫做 Data Node。负责保存分片数据。

        Coordinating Node

                负责接收Client的请求,将请求转发到合适的节点,最终把结果汇聚到一起

                默认每个节点都是Coordinating Node

        其他节点类型

                Hot & Warm Node        

                        不同硬件配置的Data Node,用户实现Hot & Warm架构,降低集群部署成本。

                Machine Learning Node

                        负责跑机器学习的Job,用来做异常检测

                Tribe Node

                        Tribe Node 连接到不同的ES集群,并且支持将这些集群当成一个单独的集群部署

配置节点类型

ES2 知识-Es入门_第5张图片

分片(Primary Shard & Replica Shard)

主分片,用以解决数据水平扩展的问题。通过主分片,可以将数据分布到集群内的所有节点之上

        一个分片是一个运行的lucene的实例

        主分片数在索引创建时指定,后续不允许修改,除非Reindex

副本,用以解决数据高可用问题。分片是主分片的拷贝

        副本分片数,可以动态调整

        增加副本数,还可以在一定程度上提高服务的可用性(读取的吞吐)

ES2 知识-Es入门_第6张图片

分片的设定

        对于生产环境的分片设定,需要提前做好容量规划

                分片数设置过小

                        导致后续无法增加节点实现水平扩展

                        单个分片的数据太大,导致数据重新分配耗时

               分片数设置过大,7.0开始,默认主分片设置成1,解决 over-sharding的问题

                        影响搜索结果的相关性打分,影响统计结果的准确性

                        单个节点上过多的分片,会导致资源浪费,同时会影响性能

查看集群的 健康状况

三、 文档基本的CRUD与批量操作

 3.1 create 文档创建

3.2 Index文档

ES2 知识-Es入门_第7张图片

3.3 get 文档查询

ES2 知识-Es入门_第8张图片

 3.4 文档更新

ES2 知识-Es入门_第9张图片

 3.5 Buk Api 批量数据操作

四、倒排索引

关键字在页码中的页码关联

5、Analysis与Analyzer

ES2 知识-Es入门_第10张图片

ES2 知识-Es入门_第11张图片 ES2 知识-Es入门_第12张图片

ES2 知识-Es入门_第13张图片

Thulac分词器

五、search API

5.1  URI Search

        在URL 中使用查询参数

5.2 Request Body Search

        使用Elasticsearch 提供的,基于JSON 格式的更加完备的 Query Domain Specific Language(DSL)
​​​​​​​ES2 知识-Es入门_第14张图片

Request Body

ES2 知识-Es入门_第15张图片

搜索 Response

ES2 知识-Es入门_第16张图片

URI Search - 通过URI query 实现搜索

ES2 知识-Es入门_第17张图片

 

ES2 知识-Es入门_第18张图片

ES2 知识-Es入门_第19张图片 ES2 知识-Es入门_第20张图片

六、Request Body Search

ES2 知识-Es入门_第21张图片

分页

ES2 知识-Es入门_第22张图片

排序

ES2 知识-Es入门_第23张图片

_ soruce filtering

ES2 知识-Es入门_第24张图片

脚本字段

ES2 知识-Es入门_第25张图片

 match查询

ES2 知识-Es入门_第26张图片

 ES2 知识-Es入门_第27张图片

 ES2 知识-Es入门_第28张图片

ES2 知识-Es入门_第29张图片

Mapping

ES2 知识-Es入门_第30张图片

ES2 知识-Es入门_第31张图片

ES2 知识-Es入门_第32张图片

 

ES2 知识-Es入门_第33张图片

ES2 知识-Es入门_第34张图片

ES2 知识-Es入门_第35张图片

​​​​​​​ 

 ES2 知识-Es入门_第36张图片

 ES2 知识-Es入门_第37张图片

ES2 知识-Es入门_第38张图片

ES2 知识-Es入门_第39张图片

ES2 知识-Es入门_第40张图片

ES2 知识-Es入门_第41张图片

ES2 知识-Es入门_第42张图片

ES2 知识-Es入门_第43张图片

ES2 知识-Es入门_第44张图片

 ES2 知识-Es入门_第45张图片

ES2 知识-Es入门_第46张图片

ES2 知识-Es入门_第47张图片

ES2 知识-Es入门_第48张图片

聚合

ES2 知识-Es入门_第49张图片

ES2 知识-Es入门_第50张图片

ES2 知识-Es入门_第51张图片

ES2 知识-Es入门_第52张图片

ES2 知识-Es入门_第53张图片

ES2 知识-Es入门_第54张图片

总结

你可能感兴趣的:(servlet,jar,java)