倒排索引
倒排索引以字或词为关键字进行索引,表中关键字所对应的记录表项记录了出现这个字或词的所有文档,一个表项就是一个字表段。它记录该文档的ID和字符在该文档中出现的位置情况。
以下三个文档去除停用词后构造倒排索引
- Term(单词): 一段文本经过分析器以后就会输出一串单词,这一个个的就叫做Term
- Term Dictionary(单词字典) 顾名思义,它里面维护的是Term,可以理解为Term的集合
- Term Index(单词索引): 为了更快的找到某个单词,我们为单词建立索引
- Posting List(倒排列表): 倒排列表记录了出现过的某个单词的所有文档的文档列表及单词在该文档中出现的位置信息,每条记录称为一个倒排项。
根据倒排列表,即可知哪些文档包含某个单词。
(PS: 如果类比现代汉语词典的话,那么Term就相当于词语,Term Dictionary相当于汉语词典本身,Term Index相当于词典的目录索引)
上面的例子,Elasticsearch建立的索引大致如下:
name字段