版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_42528266/article/details/102744140
基本概念
一.ELK
ELK 是ElasticSearch、Logstash 和 Kibana三个产品的首字母缩写,是Elastic公司提供的一套完整的日志收集以及展示的解决方案。
ElasticSearch简称ES,它是一个实时的分布式搜索和分析引擎,它可以用于全文搜索,结构化搜索以及分析。它是一个建立在全文搜索引擎 Apache Lucene 基础上的搜索引擎,使用 Java 语言编写
Logstash是一个具有实时传输能力的数据收集引擎,用来进行数据收集(如:读取文本文件)、解析,并将数据发送给ES
Kibana为 Elasticsearch 提供了分析和可视化的 Web 平台。它可以在 Elasticsearch 的索引中查找,交互数据,并生成各种维度表格、图形
二.使用场景
- 搜索领域: 百度、谷歌,全文检索,高亮,搜索推荐等
- 内容网站: 用户行为日志(点击、浏览、收藏、评论) 社交网络数据,数据分析(将公众对文章的反馈提交至文章作者),包括网站内容搜索等
- Stack Overflow(IT技术论坛): 全文检索,搜索相关问题和答案
- GitHub(开源代码管理), 搜索管理其托管的上千亿行代码
- 日志数据分析: ELK技术栈(Elasticsearch Logstash Kibana)对日志数据进行采集和分析
- BI系统(Business Intelligence, 商业智能): 分析某区域最近 3 年的用户消费额的趋势、用户群体的组成结构等
- 其他应用: 电商、招聘、门户等网站的内部搜索服务,IT系统(OA、CRM、ERP等)的内部搜索服务、数据分析等
三.ES的核心概念
-
- 集群(Cluster):由一个或多个节点组成, 并通过集群名称与其他集群进行区分。集群由唯一名称标识,默认情况下为“ elasticsearch”
-
- 节点(Node):单个 ElasticSearch 实例. 通常一个节点运行在一个隔离的容器或虚拟机中。默认情况下,启动单个节点将形成一个名为的新单节点集群elasticsearch
-
- 索引(Index):一组文档的集合
-
- 类型(Type):曾经是索引的逻辑类别/分区,它使您可以在同一索引中存储不同类型的文档。在7.X版本中已弃用
-
- 文档(Document):建立索引的基本信息单位,JSON格式的数据
四.ES的数据类型
- 1.核心数据类型
- 1.1 字符串类型-string(6.X已不再支持)
- 1.1.1 文本类型-text
- 1.1.2 关键字类型-keyword (备注:这两种取代了String类型)
- 1.2 数字类型(8种)
- 1.3 日期类型-date
- 1.4 布尔类型-boolean
- 1.5 二进制类型-binary
- 1.6 范围类型-range
- 1.1 字符串类型-string(6.X已不再支持)
- 2.复杂数据类型
- 2.1 数组类型-array
- 2.2 对象类型-object
- 2.3 嵌套类型-nested
- 3.地理数据类型
- 3.1 地理点类型-geo point
- 3.2 地理形状类型-geo shape
- 4.专门数据类型
- 4.1 IP类型
- 4.2 计算机数据类型
倒排索引
CRUD
- GET:查询
- POST:新增/更新
- PUT:新增/更新
- DELETE:删除
SpringBoot 整合ES
推荐链接:https://www.jianshu.com/p/30aa7e75640c