倒排索引的好处是为了方便查询数据
为了提高搜索效率,我们需要对正排索引进行转化,将其转化为以分词为Key、以网页或文章列表为Value的结构,而这个结构就是倒排索引
倒排索引记录每个词条出现在哪些文档,及在文档中的位置,可以根据词条快速定位到包含这个词条的文档及出现的位置。
文档:索引库中的每一条原始数据,例如一个商品信息、一个职位信息
词条:原始数据按照分词算法进行分词,得到的每一个词
创建倒排索引,分为以下几步:
- 创建文档列表:
lucene首先对原始文档数据进行编号(DocID),形成列表,就是一个文档列表。
- 创建倒排索引列表
对文档中数据进行分词,得到词条(分词后的一个又一个词)。对词条进行编号,以词条创建索引。然后记录下包含该词条的所有文档编号(及其它信息)。
搜索的过程:
当用户输入任意的词条时,首先对用户输入的数据进行分词,得到用户要搜索的所有词条,然后拿着这
些词条去倒排索引列表中进行匹配。找到这些词条就能找到包含这些词条的所有文档的编号。然后根据
这些编号去文档列表中找到文档
