solr全文检索实现原理 Solr–全文索引原理

一些大型门户网站和电子商务网站有自己的站内搜索,但使用传统的数据库查询方法已经不能满足一些高级搜索要求,例如:搜索速度必须快,搜索结果必须按相关性排序。 、搜索内容格式不固定,这些都需要使用全文来实现搜索功能。

什么是全文检索

全文检索:计算机索引程序扫描文章中的每个单词,为每个单词建立索引solr全文检索实现原理,并指出该单词在文章中的编号和位置。 当用户查询时,搜索程序根据预先建立的搜索进行搜索。 ,并将搜索结果返回给用户。

数据检索:例如数据以“时间、人物、地点、事件”的形式存储。 查询可以是location =“Beijing”。 数据检索的性能取决于用于识别字段的方法以及用户对此方法的偏好。 明白吧,有很大的局限性。

因此,当我们进入图书馆时,通常会先查看资料的索引卡或索引标记,找到对应的书籍; 所以当一本书进入图书馆时,最重要的是创建一张索引卡。 同样,对于我们拥有的信息也需要建立索引。

建立索引是指对要检索的信息进行一定的分析,并将分析结果以一定的组织方式存储起来,通常存储在文件中。 存储分析结果的文件集合就是索引。 查询时,首先从索引中查找。 由于索引是按一定的结构组织的,因此查询速度非常快。

上图展示了建立索引的过程。 首先收集信息(如果用户发出搜索请求后信息检索系统到互联网上寻找答案,将无法在有限的时间内返回结果),然后对信息进行处理并建立索引。 在互联网上收集信息的软件称为爬虫或蜘蛛或网络机器人。 爬虫会访问互联网上的每个网页,并在访问网页之前将内容传输回本地服务器。 关于爬虫的原理,可以阅读这篇文章网络爬虫基本原理(一)

倒排索引结构

一开始我有点困惑,什么是反向排序,什么是正向排序? 后来在网上找到一篇文章,正向索引和倒排索引。

远期指数

主要意思是,网络爬虫在互联网上收集信息时solr全文检索实现原理,会对收集到的网页进行处理,即对网页的内容(关键词)进行分段,可以看出如下:

网页关键词

网页A=

关键词1+关键词2+关键词3+关键词4+关键词5+关键词6+关键词7+……。

网页B=

关键词1+关键词2+关键词3+关键词4+关键词5+关键词6+关键词7+……。

网页C=

关键词1+关键词2+关键词3+关键词4+关键词5+关键词6+关键词7+……。

您可以详细了解如何具体分词。 中文分词与英文分词不同。 原理如下:

就像上面的过程一样,将网页划分为关键词的过程就是一个正向索引过程。

倒排索引

用户在搜索信息时,通常会通过关键词来搜索对应的信息。

倒排索引是这样的。 倒排索引的关键字后面是一堆网页。

关键词网页

关键字1=

网页A+网页B+网页C+网页O+……。

关键字2=

B页+P页+Z页+……。

关键字3=

网页 D + 网页 T + 网页 Y + 网页 Z +……

Solr是一个基于Lucene的Java全文搜索引擎服务器。

© 版权声明
THE END
喜欢就支持一下吧
点赞206赞赏 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容