个人对elasticsearch的理解

elasticsearch是一个基于Lucene的搜索服务器,

 

1.倒排索引(反向索引)

直接硬刚理解比较难以理解,但是我们可以从反面来进行对比来分析。

反向索引的反面即正向索引,我理解为我们平常使用如redis的key-value方式,是通过key来查找value。而elasticsearch则刚好与之相反,他是通过将value分成多份来查询key的,例如,有这么一个键值对:"letter"->"abcdefg"

使用redis即get letter可获取到值 abcdefg

使用elasticsearch,搜索a或b或c或d或e或f或g,就会返回abcdefg

这样本来正向索引只需要一个键值对的,变成了7个键值对了

如果配合redis使用的话,那么可以使用elasticsearch,搜索a或b或c或d或e或f或g,就会返回letter,再通过redis查询key获取abcdefg

 

2.搜索引擎三大过程

爬取内容、进行分词、建立反向索引

 

3.分布式搜索引擎

elasticsearch在lucene的基础上进行封装,实现了分布式搜索引擎

 

4.索引、类型和文档

elasticsearch的索引相当于mysql中的数据库,类型相当于mysql中的表,文档相当于mysql中的数据

 

5.elasticsearch也是master-slave架构,也实现了数据的分片和备份

 

6.elasticsearch、Logstash和Kibana组成elk日志系统

 

学习自:【漫画】elasticsearch原理就是这么简单

如果有错误,请大佬们指出学习下,我不晓得我理解是否有误差,,,

 

posted @ 2020-07-02 22:27  为之。  阅读(133)  评论(0编辑  收藏  举报