ElasticSearch入门
ElasticSearch简介
什么是ElasticSearch
- 基于Apache Lucene构建的开源搜索引擎
- 采用Java编写,提供简单易用的RESTFul API
- 轻松的横向扩展,可支持PB级的结构化或非结构化数据处理
应用场景
可用应用场景
- 海量数据分析引擎
- 站内搜索引擎
- 数据仓库
一线公司实际应用场景
- 英国卫报 - 实时分析公众对文章的回应
- 维基百科、GItHub - 站内实时搜索
- 百度 - 实时日志监控平台
还有谁在用呢
- 阿里巴巴
- 京东
- 小米
- 美团
前置知识
- 熟悉用Maven构建项目
- 了解Spring Boot的基本使用
环境要求
- IDE工具 IntelliJ IDEA、Eclipse等常用IDE即可
- Java JDK1.8
- 其他依赖 Maven、NodeJs(6.0以上)
课程简介
课程安排
安装
版本问题
- 版本历史 1.X -> 2.X -> 5.X
- 版本选择 选择最新版本
单实例安装
下载地址:https://www.elastic.co/downloads/elasticsearch 根据自己的机器下载对应的版本
基础概念
集群和节点
- 索引 含有相同属性的文档集合
- 类型 索引可以定义一个或多个类型,文档必须属于一个类型
- 文档 文档是可以被索引的基本数据单位
- 分片 每个索引都有多个分片,每个分片是一个Lucene索引
- 备份 拷贝一份分片就完成分片的备份
基本用法
RESTFul API
- API基本格式 http://<ip>:<port>/<索引>/<类型>/<文档id>
- 常用HTTP动词 GET/PUT/POST/DELETE
创建索引
- 非结构化索引创建
- 结构化索引创建
插入
- 指定文档id插入
- 自动产生文档id插入
删除
- 删除文档
- 删除索引
talk less,do more!