倒排索引的好处是为了方便查询数据

    为了提高搜索效率,我们需要对正排索引进行转化,将其转化为以分词为Key、以网页或文章列表为Value的结构,而这个结构就是倒排索引
    image.png

    倒排索引记录每个词条出现在哪些文档,及在文档中的位置,可以根据词条快速定位到包含这个词条的文档及出现的位置。
    文档:索引库中的每一条原始数据,例如一个商品信息、一个职位信息
    词条:原始数据按照分词算法进行分词,得到的每一个词
    创建倒排索引,分为以下几步:

    1. 创建文档列表:

    lucene首先对原始文档数据进行编号(DocID),形成列表,就是一个文档列表。
    image.png

    1. 创建倒排索引列表

    对文档中数据进行分词,得到词条(分词后的一个又一个词)。对词条进行编号,以词条创建索引。然后记录下包含该词条的所有文档编号(及其它信息)。
    image.png
    搜索的过程:
    当用户输入任意的词条时,首先对用户输入的数据进行分词,得到用户要搜索的所有词条,然后拿着这
    些词条去倒排索引列表中进行匹配。找到这些词条就能找到包含这些词条的所有文档的编号。然后根据
    这些编号去文档列表中找到文档