正向索引和倒排索引

 传统的搜索采用正向索引,就是从头到尾进行搜索,但是,采用这种搜索如果数据量过大的话,就会影响效率,因此引入了倒排索引,将每个title的词条分开,放在一起,根据词条进行搜索,这样大大的增加了搜索效率! 

 传统的搜索采用正向索引,就是从头到尾进行搜索,但是,采用这种搜索如果数据量过大的话,就会影响效率,因此引入了倒排索引,将每个title的词条分开,放在一起,根据词条进行搜索,这样大大的增加了搜索效率!

当涉及到搜索引文本检索时,倒排索引(Inverted Index)正向索引(Forward Index)是两个重要的概念。它们在索引文档搜索过程中起着不同的作用。 ## 正向索引(Forward Index) 正向索引是最基本的索引结构,它是将文档中的每个词条与对应的文档进行关联。在正向索引中,每个文档都有一个唯一的标识符,例如文档ID,并且包含了文档中所有的词条及其位置信息。 以两个文档为例: ``` Document 1: "I love Elasticsearch" Document 2: "Elasticsearch is a powerful search engine" ``` 在正向索引中,我们会创建如下的映射关系: ``` Term Document IDs ------------------------ I 1 love 1 Elasticsearch 1, 2 is 2 a 2 powerful 2 search 2 engine 2 ``` 正向索引的优点是在添加新文档时非常高效,可以快速地插入文档更新索引。然而,在进行搜索时,正向索引需要遍历每个文档来寻找匹配的词条,这会导致搜索效率低下。 ## 倒排索引(Inverted Index) 倒排索引的设计思想与正向索引完全相反。它将词条作为关键字,将其与包含该词条的文档进行关联。在倒排索引中,每个词条都有一个对应的倒排列表,列表中包含了出现该词条的所有文档的标识符。 以同样的两个文档为例: ``` Document 1: "I love Elasticsearch" Document 2: "Elasticsearch is a powerful search engine" ``` 在倒排索引中,我们会创建如下的映射关系: ``` Term Document IDs ------------------------ I 1 love 1 Elasticsearch 1, 2 is 2 a 2 powerful 2 search 2 engine 2 ``` 倒排索引的优点是在搜索时非常高效。当我们搜索包含特定词条的文档时,只需查找该词条在倒排索引中的倒排列表即可,而不需要遍历所有文档。这大大提高了搜索效率。 ## 正向索引倒排索引的对比 正向索引倒排索引在设计用途上有很大的差异: - 正向索引适用于快速添加更新文档,但在搜索时需要遍历所有文档。 - 倒排索引适用于快速搜索,但在添加更新文档时需要更新索引结构。 总结起来,正向索引适合于那些需要频繁更新的应用场景,而倒排索引适合于那些需要快速搜索检索的应用场景。倒排索引是Elasticsearch中用来加快搜索速度提高检索效率的核心机制之一。它使得Elasticsearch能够提供高效的全文搜索强大的检索功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小小懒懒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值