xy123321 发表于 2019-1-29 08:00:32

elasticsearch基础操作01

  ElasticSearch

  ES是一个基于Lucene实现的开源、分布式、Restful的全文本搜索引擎;此外,它还是一个分布式实时文档存储,其中每个文档的每个
  field均是被索引的数据,且可被搜索;也是一个带实时分析功能的分布式搜索引擎,能够扩展至数以百计的节点实时处理PB级的数据。
  基本组件:

[*]  索引(index):文档容器,换句话说,索引是具有类似属性的文档的集合。类似于表。索引名必须使用小写字母;
[*]  类型(type):类型是索引内部的逻辑分区,其意义完全取决于用户需求。一个索引内部可定义一个或多个类型。一般来说,类型就是
  拥有相同的域的文档的预定义。
[*]  文档(document):文档是Lucene索引和搜索的原子单位,它包含了一个或多个域。是域的容器,基于JSON格式表示。
  每个域的组成部分:一个名字、一个或多个值;拥有多个值的域,通常称为多值域;
[*]  映射(mapping):原始内容存储为文档之前需要事先进行分析,例如:切词、过滤掉某些词等;映射用于定义此分析机制该如何实现;
  除此之外,ES还为映射提供了诸如将域中的内容排序等功能。
  ES的集群组件:


[*]  cluster: ES的集群标识为集群名称;默认为"elasticsearch"。节点就是靠此名字来决定加入到哪个集群中,一个节点只能属于一个集群
[*]  Node:运行了单个ES实例的主机,即为节点。用于存储数据、参与集群索引及搜索操作。节点的标识靠节点名。
[*]  shard: 分片;将过引切割成为的物理存储组件;但每个shard都是一个独立且完整的索引;创建索引时,ES默认将其分割为5个shard;

[*]  用户也可以按需自定义,创建完成之后不可修改;
[*]  shard有两种类型:primary shard 和replica
  replica用于数据冗余及查询时的负载均衡。每个主shard的副本数量可自定义,且可动态修改。

  ES cluster工作过程:

[*]  启动时通过多播(默认)或单播方式,在tcp协议9300端口来查找同一集群中的其它节点,并与之建立通信。
[*]  集群中的所有节点会选出一个主节点负责管理整个集群状态,以及在集群范围内决定各shards的分布方式。站在用户角度面言,每个节点
  均可接收并响应用户的各类请求。
[*]  集群所有状态:green、red、yellow
  ES的默认端口:

[*]  参与集群的事务:9300/tcp
[*]  接收请求:9200/tcp
  Restful API:

[*]  四类API:

[*]  检查集群、节点、索引等健康与否,以及获取其相应状态;
[*]  管理集群、节点、索引及元数据;
[*]  执行CURL操作
[*]  执行高级操作,例如paging,filtering等

[*]  ES访问接口:

[*]  9200/tcp

[*]  CURL操作

[*]  curl -X '://HOST:PORT/?' -d ''

[*]  VERB: GET , PUT, DELETE
[*]  PROTOCOL: http, https
[*]  QUERY_STRING: 查询参数,例如?pretty表示用易读的JSON格式输出;
[*]





页: [1]
查看完整版本: elasticsearch基础操作01