Elasticsearch的倒排索引inverted index的简单理解

何谓倒排?

比如请告诉我出现了“我们”两字的文章有哪些?

常规做法:对每篇文章逐个查找关键字,必须遍历每篇文章的每个字。

倒排索引:在搜索前,已经把这些文章出现的所有字都分词到一个单词表(关键词<-->文章编号列表)了,搜索的时候,查询关键字表,即可找到对应的文章编号。

为何倒排索引高效?

我们知道,英语单词是有限的,常用的可能就几千个。要搜索这几千个字对机器来说是小意思,然后,可以获取关键词对应的文章编号。

而这几千个英语单词组成的文章就无数了,遍历每篇文章的每个字自然就非常非常慢了。

所以,倒排索引是高效的。

你可能感兴趣的:(Elasticsearch)