官方站点
https://www.elastic.co/cn/

ES 的基本概念

ES 集群

ES cluster 的集群启动方式
  1. 1.启动时通过多播(默认)或者单播的方式 通过 9300/tcp 查找同一集群中的其他节点, 并与之建立通信,
  2. 2.集群中的所有节点会选举出主节点,主节点负责管理整个集群的状态,并决定集群内的 shard 的分布方式
  3. 3.在用户角度而言,每个节点均可接受并相应用户的各类请求

ES 集群相关的信息
  1. 集群的三种状态
  2. - green
  3. - yelllow
  4. - red
  5. GET /_cluster/health
  6. status 字段指示着当前集群在总体上是否工作正常。它的三种颜色含义如下:
  7. green
  8. 所有的主分片和副本分片都正常运行。
  9. yellow
  10. 所有的主分片都正常运行,但不是所有的副本分片都正常运行。
  11. red
  12. 有主分片没能正常运行。
  13. 在本章节剩余的部分,我们将解释什么是 分片和 副本 分片,以及上面提到的这些颜色的实际意义。

ES 的配置信息

  1. ES 的端口信息
  2. 1.9200/tcp 端口 es 的访问端口
  3. 2.9300/tcp 端口 参与集群的事务端口

与 ES 的交互
  1. 一个 Elasticsearch 请求和任何 HTTP 请求一样由若干相同的部件组成:
  2. curl -X<VERB> '<PROTOCOL>://<HOST>:<PORT>/<PATH>?<QUERY_STRING>' -d '<BODY>'
  3. < > 标记的部件:
  4. VERB
  5. 适当的 HTTP 方法 谓词 : GET`、 `POST`、 `PUT`、 `HEAD 或者 `DELETE`
  6. PROTOCOL
  7. http 或者 https`(如果你在 Elasticsearch 前面有一个 `https 代理)
  8. HOST
  9. Elasticsearch 集群中任意节点的主机名,或者用 localhost 代表本地机器上的节点。
  10. PORT
  11. 运行 Elasticsearch HTTP 服务的端口号,默认是 9200
  12. PATH
  13. API 的终端路径(例如 _count 将返回集群中文档数量)。Path 可能包含多个组件,例如:_cluster/stats _nodes/stats/jvm
  14. QUERY_STRING
  15. 任意可选的查询字符串参数
  16. (例如 ?pretty 将格式化地输出 JSON 返回值,使其更容易阅读)
  17. ?v 可以显示详细的参数
  18. BODY
  19. 一个 JSON 格式的请求体 (如果请求需要的话)

与 ES交互

  1. # 查看es 显示的格式
  2. curl -X GET 127.0.0.1:9200/?pretty
  3. # 查看es 的所有请求操作
  4. curl -X GET '127.0.0.1:9200/_cat'
  5. ?v 可以显示详细的参数
  6. ?help 可以显示帮组文档
  7. # 查看集群的健康状态
  8. curl -XGET 127.0.0.1:9200/_cluster/health?pretty
  9. #查看集群的 状态
  10. curl -XGET "127.0.0.1:9200/_cluster/state?pretty"
  11. #查看集群的版本
  12. curl -XGET "127.0.0.1:9200/_cluster/state/version?pretty"
  13. # 查看集群的 主节点
  14. curl -XGET "127.0.0.1:9200/_cluster/state/master_node?pretty"
  15. # 查看节点信息
  16. curl -XGET 127.0.0.1:9200/_nodes

ES 常用概念

  1. es 的查询操作分为两个阶段
  2. 分散阶段
  3. 合并阶段
  4. 查询方式:
  5. es 发起请求的方式有2种:
  6. 1.通过restful request api 查询,也称为 query string :
  7. 2.通过rest request body进行查询
  8. es 是面向文档的
  9. es 与传统的关系型数据库的对比
  10. relationDb(mysql) -->databases -->tables -->rows --> columns
  11. elasticsearch -->indices --> type -->documents --> fileds