首先了解,ES是依据lucene而开发的,而lucene的底层是倒排索引!!!
请看图:
声明:图片是嫖来的
这张图的含义是:在索引(库)里有三条数据,分别是1,2,3;而有个分库库里分别对应着三条数据给分了词,分出了关键字;比如中国这个关键字,在第1条数据和第3条数据里都有,所以他的标注就是(1,3) ;而现在我们对数据进行检索;
检索分为两步,第一步是查询,query,比如我们就查询中国这个词,依据分词库里面的分词关键字可以查询出(1,3)来,;
第二步是拉取,依据查询出来的(1,3)数据去索引里面去拉取索引里的第一条数据和第三条数据;
这就是整个倒排索引的检索过程;
总结:什么是倒排索引?以前是先有关健字,再有数据;现在是,先有数据,再有关键字,然后再进行检索;
核心定义:将存放的数据,以一定的方式进行分词,并且将分词的内容存放到一个单独的分词库中。当用户去查询数据时,会将用户的查询关键字进行分词。然后去分词库中匹配内容,最终得到数据的id标识。根据id标识去存放数据的位置拉取到指定的数据。
。。。。。。。。。。。。。
嘻哈的简写笔记
。。。。。。。。。。。。。