常用术语
·文档Document
-用户存储在es中的数据文档
·索引 Index
-由具有相同字段的文档列表组成
·节点Node
-一个Elasticsearch的运行实例,是集群的构成单元
·集群Cluster
-由一个或多个节点组成,对外提供服务
Document介绍
. Json Object,由字段( Field )组成,常见数据类型如下
-字符串: text, keyword
-数值型: long, integer, short, byte, double, float, half float, scaled-float
-布尔: boolean
-日期: date.二进制: binary
-范围类型: integer_range, float range, long-range, double_range, date range
注意text是分词的;keyword是不分词的。
每个文档有唯一的id标识
-自行指定
-es自动生成
Document MetaData
·元数据,用于标注文档的相关信息
-_index:文档所在的索引名,
-_type:文档所在的类型名,
-_id:文档唯-id
-_uid:组合id ,由-type和_id组成(6.x-type不再起作用,同_id一样)
-_source:文档的原始Json数据,可以从这里获取每个字段的内容,
-_all:整合所有字段内容到该字段,默认禁用
Index介绍
·索引中存储具有相同结构的文档(Document)
-每个索引都有自己的mapping定义,用于定义字段名和类型
·一个集群可以有多个索引,比如:
-nginx日志存储的时候可以按照日期每天生成一个索引来存储
nginx-log-2017-01-01
nginx-log-2017-01-02
nginx-log-2017-01-03
restapi介绍
. Elasticsearch集群对外提供RESTful API
-REST - REpresentational State Transfer
-URI指定资源,如Index, Document等
-Http Method指明资源操作类型,如GET, POST, PUT, DELETE等
·常用两种交互方式
-Curl命令行(curl是利用URL语法在命令行方式下工作的开源文件传输工具,使用curl可以简单实现常见的get/post请求。简单的认为是可以在命令行下面访问url的一个工具。在centos的默认库里面是有curl工具的,如果没有请yum安装即可。 )
-Kibana DevTools
index_api
.es有专门的Index API ,用于创建、更新、删除索引配置等
-创建索引api如下:
-删除索引api如下:
document_api
创建文档
-指定id创建文档api如下:
-不指定id创建文档如下:
查询文档
-指定要查询的文档id
-搜索所有文档,用到_search,如下:
批量创建文档API
.es允许一次创建多个文档,从而减少网络传输开销,提升写入速率
-endpoint为_bulk ,如下:
批量查询文档API
es允许一次查询多个文档
-endpoint为_mget,如下: