首页 > 其他分享 >Elasticsearch正向索引与倒排索引

Elasticsearch正向索引与倒排索引

时间:2024-10-15 20:21:38浏览次数:6  
标签:词条 倒排 索引 查找 Elasticsearch 正向 id

Elasticsearch正向索引与倒排索引

一、正向索引

首先,要明白什么是正向索引,所谓正向索引,就是在查找某项数据时,按照id一条一条查找,如果当前数据中包含所需数据,则将当前数据取出,不包含则抛弃,直至全部遍历结束。

例如:当我们按照正向索引去寻找包含小米三星苹果的数据时,会从头遍历一遍,筛选出包含的数据。

id 词条
1 小米
2 苹果
3 小米
4 小米
5 三星

优点:在按照id查询时效率高

缺点:在模糊查询时,只能全部遍历,效率低

二、倒排索引

倒排索引中,文档指的是每一条数据,例如:我喜欢你。词条指的是将文档拆分成有意义的词语,例如之前的文档可拆成4个词条:我、喜欢、你。

倒排索引,就是将文档拆分成许多的词条,根据词条去寻找数据库中哪些地方存在该词条,记录数据的id等信息,之后将其存到一张表中,最终形成的效果类如:

词条 出现位置
小米 1,2,5,7,9
苹果 3,4,8,10
三星 6,11,12

接下来当我们按照倒排索引模糊查询时,去表中挑选对应词条的出现位置,再去正向查找这些id的数据即可

总结

正向索引,从头遍历到尾,取出符合的数据,如若按id查找,效率高

倒排索引,将文档拆分为词条,查找其出现的位置,将信息存到表中,查找时去表中查找词条,获得位置,按照位置id去正向查找。

标签:词条,倒排,索引,查找,Elasticsearch,正向,id
From: https://www.cnblogs.com/superdebu/p/18468364

相关文章

  • 倒排索引和ES相关概念对比MySQL
    1.倒排索引1.1倒排索引两个重要概念:文档:用来搜索的数据,其中的每一条数据就是一个文档。例如一个网页、一个商品信息以京东商城为列词条(Term):对文档数据或用户搜索数据,利用某种算法分词,得到的具备含义的词语就是词条。例如:我是中国人,就可以分为:我、是、中国人、中国、国人这......
  • Elasticsearch相关概念对比MySQL
    MySQLElasticsearch说明TableIndex索引(index),就是文档的集合,类似数据库的表(table)RowDocument文档(Document),就是一条条的数据,类似数据库中的行(Row),文档都是JSON格式ColumnField字段(Field),就是JSON文档中的字段,类似数据库中的列(Column)SchemaMappingMappi......
  • Elasticsearch相关概念对比MySQL
    Elasticsearch和MySQL是两种不同的数据管理系统,各自有其独特的概念和应用场景。以下是它们在几个关键概念上的对比:o数据模型Elasticsearch:。文档(Document):基本的数据单元,存储为JSON格式。。索引(Index):类似于数据库,包含多个文档。。类型(Type):在7.x版本后已被弃用,之前用于逻......
  • 倒排索引
    倒排索引(InvertedIndex)是一种索引方法。在信息检索系统中非常常见,尤其是在全文搜索引擎中。主要思想:将文档中出现的每个词与包含该词的文档列表关联起来,从而实现快速检索。倒排索引的基本结构1、词汇表(Dictionary):包含所有文档集合中出现过的唯一词汇,以及指向每个词对应的......
  • [如何实现多向量索引策略提升检索精度:从理论到实战]
    如何实现多向量索引策略提升检索精度:从理论到实战引言在信息检索领域,检索精度往往是衡量系统性能的重要指标之一。多向量索引策略(Multi-VectorIndexingStrategy)是提高检索精度的有效方法之一。本文将详细介绍这种策略的实现方法,并通过具体的代码示例帮助读者在实际项目......
  • MySQL面试题-为什么用了索引就会加快查询
    快速定位数据索引类似于书的目录,它提供了一种快速定位数据的方法。没有索引时,MySQL需要逐行扫描整个表(全表扫描)来查找满足查询条件的记录,这可能需要很长时间,特别是当表很大时。而有了索引,MySQL可以迅速定位到索引中满足条件的记录位置,然后直接访问这些记录,从而大大减少了需要......
  • c#中关于索引器的初步认识
    索引器是什么?索引器就像是给对象(比如一个盒子或者一本书)贴了一个特殊的标签,让你能够通过这个标签快速找到盒子里的某个东西或者书中的某一页。在C#里,索引器让你可以像访问数组的元素那样,通过索引(比如数字0、1、2等)来访问对象的成员。索引器的基本使用假设你有一个盒子,里面放......
  • 配置GraphRAG索引
    配置GraphRAG索引GraphRAG系统具有高度的可配置性。本页概述了GraphRAG索引引擎的可用配置选项。默认配置模式默认配置模式是开始使用GraphRAG系统的最简单方式。它设计为开箱即用,只需最少的配置。索引引擎管道的主要配置部分如下所述。在默认配置模式下设置GraphRAG的主......
  • 第三节:MongoDB聚合操作和索引详解
    一.        二.        三.         !作       者:Yaopengfei(姚鹏飞)博客地址:http://www.cnblogs.com/yaopengfei/声     明1:如有错误,欢迎讨论,请勿谩骂^_^。声     明2:原创博客请在转载......
  • MySQL 索引
    索引是让提高数据查询效率的数据结构。(避免全表扫描)索引的实现方式:哈希索引、B+Tree树、倒排索引。InnoDBB+Tree的叶子节点指向主键id或存储数据行;MyISAM的叶子节点指向数据行的内存地址MySQL索引的最左前缀原则索引常见模型索引常见模型:有序数组、跳表、哈希表、搜索......