(05)ElasticSearch 倒排索引

  ElasticSearch使用一种倒排索引的结构,它适用于快速全文搜索,一个倒排索引由文档中所有不重复词的列表构成,对于其中每个词,有一个包含它的文档列表,可以提高文档的搜索速度。假如文档如下:

  建立的倒排索引如下:

  倒排索引表中可以记录频率,即在一个文档中某个词出现的次数,如下图,“数学”一词在文档编号为3的文档中出现了两次。

  倒排索引表还可以记录单词出现的位置信息如(1,<11>,1)、(3,<3,9>,2)分别代表单词id为1的单词出现了1次,位置是11,单词id为3的单词出现了2次,位置分别是3和9。

  倒排索引的建立依赖于标准化规则(normalization),比如单复数、意思相近的单词会进行处理,提高文档搜索到的概率,比如搜索dog,dogs也会搜出来,搜索work,job也会搜索出来。搜索一个单词,在文档A中出现3次,在文档B中出现5次,那么文档B的得分就高,它的排名就靠前。

原文地址:https://www.cnblogs.com/javasl/p/11371234.html