之前研究es的时候忽略了一个词 倒排索引,之前只知道索引 文档 词典,知道怎么用就可以了。但是我才被老大提醒,就像是我是用一个函数,我知道它的调用和实现结果是什么,但是我从没考虑过它的逻辑和实现的算法逻辑是什么,虽然这些东西在开发的时候用到的不多,但是鉴于一通百通的想法,我还是要好好想想:stay foolish stay hungry
讲倒排索引,就要联系到正排索引。
简单粗暴的说就是,正排索引 循环文档 找单词 就是你知道一个字的id或者某一个特性标题,再或者就是像一个英文单词study 你知道s是开头,你就会翻字典(文档),有一个指向性的范围,这个时候你就开始遍历每一个s开头的单词,直到你看到了你要找的study 这个过程就是正排索引。小时候查新华字典的感觉, 耗时费力,当初英语不好就是查字典逼得,额,找个接口。
倒排索引 我只知道单词study 那么我要知道他属于什么特性,我们就假装不知道它属于什么特性好吧,就当你拿着这个词去找牛津词典,那么多的解释,你背一个试试,所以,我手上只有这个单词,那么我就要有一个包含所有单词的列表,是的,只有词没有意思,列表懂吗,就像你去一些店里看菜单只有菜名,你连价格都不知道,咳,当然我们这个单词的列表不一样还是有后面的价格的,用专用名词来说,这个单词列表就是词典,每一个单词都有一个对应的特性包含“价格”,也就是这个单词都出现在了哪一个id中,这个id是一个大的范围不只是具体的一个,拿中文的多音节字来说,“乐”,这个字念啥? yue le ,开头分别是y 和 L(区分一下 i ),然后我们就只查 y 和 L 文档,这里就开始正排索引流程。
有人会说,倒排索引终将会走向正排,那么,你还是没懂列表。
完了