【水分高高】
ElasticSearch具备水平伸缩性、分布式、高扩展、高实时的搜索与数据分析引擎。它能很方便的使大量数据具有搜索、分析和探索的能力。
一、核心概念
节点(node):单个Elasticsearch实例,通常一个节点运行在一个隔离的容器或虚拟机中。
集群(Cluster):ES集群是一个或多个节点的集合,它们共同存储了整个数据集,并提供了联合索引以及可跨所有节点的搜索能力。
主节点:主节点的主要职责是和集群操作相关的内容,如创建或删除索引,跟踪哪些节点是群集的一部分,并决定哪些分片分配给相关的节点。
数据节点:存储数据。
Mapping: 相当于数据库中的schema,用来约束字段的类型。
其它概念:
【骗驸马、库表行列;引泪文字】
分片(shard): 分布在不同节点的数据就是分片. ES自动管理和组织分片, 并在必要的时候对分片数据进行再平衡分配, 所以用户基本上不用担心分片的处理细节. (同一个索引在物理上可以切多个分片,分布到不同的节点上。)
副本(replica): ES默认为一个索引创建5个主分片, 并分别为其创建一个副本分片. 也就是说每个索引都由5个主分片成本, 而每个主分片都相应的有一个copy。
Mapping字段类型: text、keyword、数字类型(integer、float)、array(数组类型,不需要定义)、boolean、date、binary
二、Restful Api
【GDPP 读删更新】
核心概念:
Restfull API:通俗的理解就是用URL定位资源,用HTTP动词来表达对资源的操作。
实例:
资源描述(用名词):http://api.example.com/v1/user //表示用户信息
资源操作(用动词):
GET:读取(Read)
POST:新建(Create)
PUT:更新(Update)
DELETE:删除(Delete)
例如:
用GET请求http://api.example.com/v1/user 表示获取用户信息
用POST请求http://api.example.com/v1/user表示新增用户
用PUT请求http://api.example.com/v1/user表示更新用户信息
用DELETE请求http://api.example.com/v1/user表示删除用户信息
三、请求
curl与ElasticSearch交互请求格式:curl -X<VERB> '<PROTOCOL>://<HOST>/<PORT>?<QUERY_STRING>' -d '<BODY>'
VERB:HTTP协议的请求方法,常用的有GET、POST、PUT、HEAD以及DELETE;
PROTOCOL:协议类型,http或https;
HOST:ES集群中的任一主机的主机名;
PORT:ES服务监听的端口,默认为9200;
QUERY_STRING:查询参数,例如?pretty表示使用易读的JSON格式输出;
BODY:JSON格式的请求主体;
实例:
【存储 索引 检索、查询 编码 算法 分析】 7剑下天山
.store 底层IO操作
.index 索引建立、删除
.search 根据查询条件,检索得到结果
.queryParser 实现查询语法,支持关键词间的运算,如与、或、非
.codecs 自定义编码和结构
.util 公用的算法类
.analysis 对索引的文档和查询词进行切词,支持中文扩展此类