ElasticSearch学习
是一个分布式,Restful风格的搜索和数据分析引擎,是用Java开发,稳定,可靠,快速。
也可以组合使用,ELK: ElasticSearch, Logstash,Kibana。
在Elastic Stack生态圈中Elasticsearch作为数据存储和搜索,是生态圈的基石,Kibana在0上层提供用户一个可视化及操作的界面,Logstash和Beat可以对数据进行收集。
ElasticSearch应用场景
- 站内搜索
- 日志管理与分析
- 大数据分析
- 应用性能监控
- 机器学习
从ElasticSearcha7.0开始,已经内置了Java环境。
安装过程
下载地址: https://www.elastic.co/cn/downloads/past-releases#elasticsearch
ElasticSearch文件目录结构:
直接运行elasticsearch.bat即可。
客户端Kibana安装
下载地址: https://www.elastic.co/cn/downloads/past-releases#kibana
访问Kibana: http://localhost:5601/
ElasticSearch基本概念
索引(Index)
一个拥有几分相似特征的文档的集合。比如: 可以有一个客户数据的索引,另一个产品目录的索引,还有一个订单数据的索引。
一个索引由一个名字来标识(必须全部是小写字母的),并且当我们要对应于这个索引中的文档进行索引、索引、更新和删除的时候,都要使用到这个名字。
文档(Document)
- Elasticsearch是面向文档的,文档是所有可搜索数据的最小单位。
- 文档会被序列化成JSON各式,保存在Elasticesearch中
- 每个文档都有一个Unique ID
- 一篇文档包含了一系列字段,类似数据库表中的一条记录
- JSON文档,各式灵活,不需要预先定义各式。