高端的网站设计公司,哪个网站做货车专业,渭南市建设工程有限公司,网站销售怎么样目录 正排与倒排索引
1.正排索引
作用#xff1a;
优点#xff1a;
缺点#xff1a;
2.倒排索引
原理#xff1a; 倒排索引的构建流程#xff1a; 倒排索引的搜索流程#xff1a;
优点#xff1a;
缺点#xff1a;
3. 应用场景 倒排索引中有几个非常重要的概念…目录 正排与倒排索引
1.正排索引
作用
优点
缺点
2.倒排索引
原理 倒排索引的构建流程 倒排索引的搜索流程
优点
缺点
3. 应用场景 倒排索引中有几个非常重要的概念
词条term索引里面最小的存储和查询单元对文档数据或用户搜索数据利用某种算法分词得到的具备含义的词语就是词条。词汇表Vocabulary 这是一个包含所有不重复词汇的列表每个词汇都有一个唯一的词汇ID。倒排列表Inverted List 对于每个词汇倒排列表记录了包含该词汇的文档ID或文档的位置信息。这使得搜索引擎可以快速地找到包含特定词汇的文档。文档 Document 用来搜索的数据其中的每一条数据就是一个文档。例如一个网页、一个商品信息 正排与倒排索引
1.正排索引
正排索引forward index是信息检索和数据库系统中常用的一种数据结构用于按顺序存储和访问文档或记录的详细信息。正排索引将每个文档的内容和其他相关信息按照一定的顺序和格式存储在一个连续的数据结构中以便于后续的检索和访问。
图例 作用
如果是根据id查询那么直接走索引查询速度非常快通常用于支持倒排索引inverted index的建立和查询。
优点
可以给多个字段创建索引 根据索引字段搜索、排序速度非常快
缺点
1. 存储需求大正排索引存储了每个文档的详细信息包括内容和元数据。对于大规模文档集合需要大量的存储空间来维护这些信息。
2. 访问效率低正排索引通常是顺序存储的要求对整个索引进行扫描或者按顺序访问来获取特定文档的详细信息。在需要随机访问或者大规模并发访问时可能会导致访问效率不高特别是当数据量巨大时内存或磁盘访问延迟可能成为瓶颈。
3.不适合全文搜索正排索引虽然包含文档内容但不像倒排索引那样针对文本内容建立反向索引以支持全文搜索。因此在需要快速全文搜索和相关性排序的场景下倒排索引通常更为适用。
2.倒排索引
倒排索引inverted index用于快速查找包含特定单词的文档或文档集合。与正排索引不同倒排索引以单词或者词项作为索引的关键并记录包含这些单词的文档位置或标识符。倒排索引主要用于支持文本搜索引擎等应用能够快速定位到包含用户查询单词的文档。
图例 原理
倒排索引是一种反向索引结构它将文档中的每个词汇映射到它出现的文档或文档的位置。它包括两个主要部分
词汇表Vocabulary 这是一个包含所有不重复词汇的列表每个词汇都有一个唯一的词汇ID。倒排列表Inverted List 对于每个词汇倒排列表记录了包含该词汇的文档ID或文档的位置信息。这使得搜索引擎可以快速地找到包含特定词汇的文档。 倒排索引的构建流程
文本预处理将文档内容分解成单独的词汇或短语将词汇统一为基本形式去除常见但无实际检索价值的词。建立词汇表创建一个包含所有独特词汇的列表并为每个词汇创建一个倒排列表。构建倒排列表对于每个词汇记录所有包含该词汇的文档的标识符如文档ID。这些记录通常会存储在一个列表或数组中。索引优化对索引表进行压缩以减少存储空间和提高访问效率根据索引大小和访问模式优化索引的内存缓存和磁盘读写策略以提高性能。 倒排索引的搜索流程 用户输入一个词语系统首先对查询进行预处理包括分词、词干提取等以便与倒排索引中的词项进行匹配。系统根据预处理后的查询词项在倒排索引中查找每个词项对应的文档列表。如果查询中有多个词项系统将合并这些词项的倒排列表找出它们的交集或并集得到包含所有查询词项的文档集合。根据每个文档在倒排列表中的相关性得分如文档频率、位置信息等对搜索结果进行排序。
搜索流程举例 优点
根据词条搜索、模糊搜索时速度非常快
缺点
只能给词条创建索引而不是字段无法根据字段做排序此处所指的字段是json中的字段
3. 应用场景
在实际应用中正排索引和倒排索引往往是结合使用的。例如在数据库系统中正排索引用于快速访问数据记录而倒排索引用于实现高效的文本搜索。在搜索引擎中倒排索引用于处理用户的搜索查询快速返回相关结果而正排索引则用于获取结果中文档的详细信息。
总结来说正排索引和倒排索引各有特点它们在不同的场景下发挥着重要的作用。正排索引适合于基于唯一标识符的数据检索而倒排索引则更适合于全文搜索和关键词检索。