文章目录1全文检索的原理2索引的建立3搜索过程1全文检索的原理结构化数据搜索快是因为有一定的搜索算法。 那么是不是可以将非结构数据中的一部分信息提取出来 重新组织使其变得有一定结构 然后对这部分有结构的数据进行搜索从而达到搜索较快的目的。 索引从非结构数据中提取出来。重新组织的信息叫索引。 反向索引通过字符串来反向映射到文件即通过字符串找到对应的文件。 左边是一系列字符串称为词典。 每个字符串都指向包含此字符串的文档链表(倒排表)。 优点一次索引可以多次使用。2索引的建立1. 有一系列要建立索引的原文档。 2. 将原文档传给分词组件处理后得到词元。 具体操作 1将文档分为一个个单独的单词。 2去除标点符号。 3去除停词(无特别意义的单词每一种语言的分词组件都有一个停词集合)。 3. 将词元传给语言处理组件处理后得到一系列词。 具体操作 1变小写 2将单词缩减为词根形式。 3将单词转变为词根形式。 4. 将得到词传给索引组件创建索引。 具体操作 1将得到的词创建一个字典。 2对字典按照字母顺序进行排序。 3合并相同的词成为文档倒排列表。 5. 通过索引存储将索引写入硬盘。3搜索过程1. 用户输入查询语句。 2. 对查询语句经过语法分析和语言处理后得到一系列词。 3. 通过语法分析得到一个查询树。 4. 通过索引存储将索引读入内存。 5. 利用查询树搜索索引得到每个词的文档链表对文档链表进行合并、去重得到结果文档。 6. 将搜索到的结果文档对查询的相关性进行排序。 7. 返回查询结果给用户。 注如何计算文档和查询语句的相关性 1. 找出词对文档的重要性。 这个过程称为计算词的权重过程。 影响因素词文档 算法向量空间模型 Term Frequency 在本文档中出现的次数。 Document Frequency 文档频次总共有多少文档包含此词。 2. 判断词之间的关系得到文档相关性。 3. 根据相关性从大到小排序。