关于Elasticsearch

        es一款非常强大的开源搜索引擎,能够实现在海量数据中快速检索到满足条件的数据,同时还可以实现分页、高亮显示等功能;另外,他还有日志统计、分析、系统监控等功能.

ELK技术栈

        Elasticsearch :存储、搜索、分析数据

        Kibana :数据可视化 ;提供了图形化界面,可以操作ES

        Logstash、Beats :数据抓取

倒排索引

        倒排索引是ES实现快速搜索功能的核心概念,在介绍倒排索引之前,首先得说一说什么是正向索引,正向索引就是先通过文件名找到具体的文件,再获取文件中的内容过程,mysql的查询功能就是正向索引的思想,先根据ID查询记录,再从记录中获取相关字段的数据.

        倒排索引就是从文件的内容查找,得到包含这些内容的文件列表,再得到文件对应的信息,如文件名、作者、文件大小、创建时间等:

1、将文档的内容通过算法进行分词,得到一个词条列表

2、将词条列表当作key,包含该词条的文档id列表作为值,形成一张表

3、词条是唯一的,所以给词条创建索引,提高搜索效率

4、通过词条查询,得到文档ID,再通过文档ID查询到具体的文档

总的来说,就是把文档内容进行分词,得到一个词条表【词条:文档ID列表】,给词条创建索引。把要搜索的内容进行分词,根据分词后的结果去词条表中根据词条进行匹配,得到文档ID列表,再通过文档ID返回具体的文档信息;

        整个搜索过程分为如下几步 :对搜索的内容进行分词; 基于内容搜索到相关的文档ID; 再通过文档ID找到对应的文档; 展示你要展示的文档数据.

ES相关概念对比MySQL

        Index: 索引, 就是文档的集合, 类似数据库的表(table);

        Document: 文档, 就是一条条的数据, 类似数据库中的行(Row), 文档都是json格式;

        Field: 字段, 就是JSON文档中的字段, 类似数据库中的列(Column);

        Mapping: 映射, 是索引文档的约束, 例如字段类型约束, 类似数据库中的表结构(Schema);

        DSL: 是elasticsearch提供的JSON风格的请求语句, 用来操作elasticsearch, 实现CRUD.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值