1. 概述:
- ElasticSearch是一个基于Lucene的搜索服务器.
- 提供了一个分布式多用户能力的全文搜索引擎.
- 基于RESTfulweb接口,使用任何HTTP客户端来通信.
- es是用Java开发的,并作为Apache许可条款下的开放源码发布,构建在全文检索开源软件Lucene之上.
2. 特点:
- 为云计算提供了实时搜索、稳定、可靠、快速、安装使用方便.
- 可以对海量规模的数据完成分布式索引与检索,还能提供数据聚合分析.
- 基于Restful标准的高扩展、高可用的实时数据分析的全文搜索工具.
3. 基本概念:
es以document的形式来存储数据.
3.1 文档怎么存?
Index索引 => 数据库
↓
type类型 => table表
↓ 通过mapping进行映射
添加文档document => 表一条记录
↓ es用mapping来描述字段的数据类型、其它属性
文档中存的是field字段
3.2 名词解释:
- Index: 类似mysql的database
- Type: a. 类似于mysql的table表 b. es中可以在Index中建立type(table),通过mapping进行映射.
- Document: a. 由于es存储的数据是文档型的,一条数据对应一篇文档(即相当于mysql的一行数据row). b. 一个文档中可以有多个字段也就是mysql的一行可以有多列.
- Field: es中一个文档中对应的多个列与mysql数据库中每一列对应.
- Mapping: 类似mysql或solr中对应的schema,表结构.
⑥. indexed: a. 名义上的建立索引. b. mysql中一般会对经常使用的列增加索引用于提高查询速度. c. 在es中默认都是会加上索引的,除非特殊制定不建立索引只是进行存储用于展示.
- Query DSL: a. 类似于mysql的sql语句. b. 在es中是使用的json格式的查询语句(专业术语QueryDSL).
- Restful Api: GET/PUT/POST/DELETE,类似mysql的select/update/delete...
4. Kibana:
- 一款为es设计的分析和可视化工具.
- 可以使用Kibana来操作,如增删改查es索引中的数据并与之交互.