分布式搜索引擎Elasticsearch(1)

发布时间 2023-09-15 20:26:37作者: JinFangWei

ES的倒排索引

倒排索引是ES实现快速搜索功能的核心概念,而倒排索引的概念是基于正向索引而言的。

那么什么是正向索引呢?正向索引就是先通过文件名找到具体的文件,再获取文件中的内容过程。mysql的查询功能就是正向索引的思想,mysql查询数据时会先根据ID查询记录,再从记录中获取相关字段的数据,这个过程就是正向索引,而分布式搜索引擎的倒排索引是从文件的内容查找,得到包含这些内容的文件列表,再得到文件对应的信息,如文件名、作者、文件大小、创建时间等。这个过程分几个步骤,第一步,分布式搜索引擎会先将文档的内容通过算法进行分词,得到一个词条列表,第二步,将词条列表当作key,包含该词条的文档id列表作为值,形成一张表,因为词条是唯一的,所以给词条创建索引,能够提高搜索效率,最后通过词条查询,得到文档ID,再通过文档ID查询到具体的文档,总而言之,分布式搜索引擎的倒排索引就是把文档内容进行分词,得到一个词条表,然后给词条创建索引。把要搜索的内容进行分词,根据分词后的结果去词条表中根据词条进行匹配,得到文档ID列表,再通过文档ID返回具体的文档信息这样一个过程。

 

ES相关概念对比MySQL