个人对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原理就是这么简单
如果有错误,请大佬们指出学习下,我不晓得我理解是否有误差,,,