https://www.bbsmax.com/A/E35pW7LEJv/

1 什么是ES

  ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式的全文搜索引擎,其对外服务是基于RESTful web接口发布的。Elasticsearch是用Java开发的应用,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到近实时搜索,稳定,可靠,快速,安装使用方便。

2 ES的相关概念

2.1 cluster

  cluster集群。ElasticSearch集群由一或多个节点组成,其中有一个主节点,这个主节点是可以通过选举产生的,主从节点是对于集群内部来说的。ElasticSearch的一个概念就是去中心化,字面上理解就是无中心节点,这是对于集群外部来说的,因为从外部看ElasticSearch集群,在逻辑上是个整体,你与集群中的任何一个节点通信和与整个ElasticSearch集群通信是等价的。也就是说,主节点的存在不会产生单点安全隐患、并发访问瓶颈等问题。

2.2 shards

  primary shard:代表索引的主分片,ElasticSearch可以把一个完整的索引分成多个primary shard,这样的好处是可以把一个大的索引拆分成多个分片,分布存储在不同的ElasticSearch节点上,从而形成分布式存储,并为搜索访问提供分布式服务,提高并发处理能力。primary shard的数量只能在索引创建时指定,并且索引创建后不能再更改primary shard数量(重新分片需要重新定义分片规则)。es5.x之后默认为5,es7.x默认为1。

2.3 replicas

  replica shard:代表索引主分片的副本,ElasticSearch可以设置多个replica shard。replica shard的作用:一是提高系统的容错性,当某个节点某个primary shard损坏或丢失时可以从副本中恢复。二是提高ElasticSearch的查询效率,ElasticSearch会自动对搜索请求进行负载均衡,将并发的搜索请求发送给合适的节点,增强并发处理能力。可取值为0~n,默认为1。

2.4 Index

  索引。相当于关系型数据库中的表。其中存储若干相似结构的Document数据。如:客户索引,订单索引,商品索引等。ElasticSearch中的索引不像数据库表格一样有强制的数据结构约束,在理论上,可以存储任意结构的数据。但了为更好的为业务提供搜索数据支撑,还是要设计合适的索引体系来存储不同的数据。

2.5 Type

  类型。每个索引中都必须有唯一的一个Type,Type是Index中的一个逻辑分类。ElasticSearch中的数据Document是存储在索引下的Type中的。

  注意:ElasticSearch5.x及更低版本中,一个Index中可以有多个Type。ElasticSearch6.x版本之后,type概念被弱化,一个index中只能有唯一的一个type。且在7.x版本之后,删除type定义。

2.6 Document

  文档。ElasticSearch中的最小数据单元。一个Document就是一条数据,一般使用JSON数据结构表示。每个Index下的Type中都可以存储多个Document。一个Document中可定义多个field,field就是数据字段。如:学生数据({"name":"张三", "age":20, "gender":"男"})。

2.7 反向索引(倒排索引)

  对数据进行分析,抽取出数据中的词条,以词条作为key,对应数据的存储位置作为value,实现索引的存储。这种索引称为倒排索引。倒排索引是Document写入ElasticSearch时分析维护的。

3 es和kibana在windows安装

  https://www.cnblogs.com/jthr/p/17075759.html

4 ELASTICSEARCH-HEAD-MASTER安装

  https://www.cnblogs.com/jthr/p/17078888.html

5 文档

  ES官网:https://www.elastic.co/guide/index.html

  ES文档:https://www.elastic.co/guide/cn/elasticsearch/guide/current/index.html

  KIBANA文档:https://www.elastic.co/guide/cn/kibana/current/index.html

  ES中文社区:https://elasticsearch.cn/

最新文章

  1. [C#基础]Func和Action学习
  2. 【Python】可变对象和不可变对象
  3. cdoj 92 Journey tarjan/lca 树上点对距离
  4. Android----------eclipse常用快捷键
  5. JAVA GUI学习 - 窗口【x】按钮关闭事件触发器:重写processWindowEvent(WindowEvent e)方法
  6. Scala: 简介和安装
  7. Android AutoCompleteTextView和MultiAutocompleteTextView实现动态自动匹配输入的内容
  8. js实现word转换为html
  9. 关于 API
  10. 设计模式笔记:简单工厂模式(Simple Factory)
  11. RandomAccessFile类理解
  12. CAN学习网站
  13. android的电话监听
  14. tomcat 调优-生产环境必备
  15. Join 和 Apply 用法全解
  16. Linux中Samba详细安装【转】
  17. 消息中间件activemq-5.13.0安全验证配置
  18. 表达式树(Expression Tree)
  19. 【336】Tutorial of Endnote
  20. 表单提交.serialize()方法

热门文章

  1. Eclipse Python IDE安装
  2. JUC学习笔记——共享模型之内存
  3. 我把 CPU 三级缓存的秘密,藏在这 8 张图里
  4. 春秋云境 CVE-2022-24663复现
  5. virtual继承和不继承
  6. springMVC环境的搭建(一)
  7. TinyShell(CSAPP实验)
  8. 日爬百万数据的域名限制、url的清洗和管理
  9. Django框架路由层-无名有名分组-无名有名分组反向解析
  10. Spring中11个最常用的扩展点,你知道几个?