ElasticSearch学习笔记(一)

ElasticSearch(ES)有关的基本概念

  1. Cluster和Node
      ES中的Cluster是对外提供搜索服务的集群,组成这个Cluster的各个节点叫做Node。
      Node分类:IndexNode(提供读写),DataNode(只提供数据存储和访问,负载均衡等),节点之间关系对等,弱化的Master节点提供维护集群状态的功能
  2. Shards
      ES将一个完整的索引分成若干部分,每一个部分就是一个Shards,每一个Shards实际上是一个基于Lucene的索引,Shards数量一遍在创建索引前指定,且索引创建后不能修改,es的检索实际上是对多个Shards上的搜索结果的合并
  3. Replicas
      Replicas是索引的冗余备份,可用于放置数据丢失或用来做负载均衡
  4. Recovery
      在有节点加入或者退出集群的时候,ES会对索引分片Shards重新分配
  5. River
      River是一个运行在集群内部的插件,用来从外部获取异构数据,然后在ES里创建索引。常见的有RabbitMQ river Plugin、MongoDB river Plugin等
  6. Gateway
      是ES索引数据快照的存储方式,当ES关机重启的时候,就会从Gateway中读取索引快照
  7. Discovery.zen
      Es的自动发现节点机制,用来实现节点自动发现和Master节点选举,Master节点负责处理及节点的加入和退出以及分片Shards的重新分配
  8. Transport
      代表ES内部节点或者集群与客户端的交互方式。默认TCP,同时支持HTTP(JSON)、Thrift、Servlet等
  9. Index、Type、Document、Field
      Index是ES存储数据的地方,类似RDBMS的Database;Type类似于table;Document是一行数据,可以有不同字段集合;Field是最小存储单位
  10. Mapping
      定义索引下Type的字段处理规则

ES默认端口

9200 是HTTP端口,9300 是Transport端口

ES索引机器构建

  ES是基于Luence构建的,采用倒排索引机制,将文件封装为索引,将文本信息切分为成为Token的信息单元,再利用这些Token构建倒排索引。