首页 > 编程知识 正文

搜索引擎的检索技巧,搜索引擎的发展历程

时间:2023-05-04 10:16:31 阅读:143139 作者:2935

我最近在做搜索相关的项目。 谷歌和百度不知道用了多少年,一直以来在搜索技术上可以说是纯正谦虚的玉米。 所以最近添加了一些相关知识。 好久没从零开始接触全新的领域了,虽然有点着急,但在这个过程中越来越感受到乐趣。 一边学习一边自由写笔记,整理检索的技术逻辑。

)1)爬行动物

从基本的搜索行为开始。 搜索应该满足的是用户输入关键字,并获得与之相关的信息。 那么,首先需要信息池。 如果没有任何信息,搜索引擎很简单。 只要一行代码,always返回空就可以了。

该信息池可以是自己的,例如淘宝上阿里提供的商品搜索功能。 但是,如果想做百度这样的网络搜索,一定要包括别人的东西。 虽然没有能够囊括整个网络的公司,但是用户可以选择的理论上是整个网络。 因为整个网络内容太多,不可能人工寻找,搜索刚需,创造了谷歌和百度财富可敌国的巨大市值。 所以,爬虫是第一步,爬上别人的web资源,资源越多,搜索引擎就越有竞争力。

爬行动物是后台系统,可以24小时持续在服务器上奔跑,而无需直接与用户交互。 对于爬行动物来说,当然还有很多技术挑战,包括如何充分挖掘暗网资源,以及如何动态更新资源。 但是,更重要的可能是非技术因素。 典型的情况是淘宝屏蔽百度。 互联网最重要的是入口的地位,向搜索引擎开放资源可以通过搜索传播,同时也意味着将入口的地位部分交给搜索引擎。

)2)索引

检索的本质是关键词的匹配。 这很容易让人想起KMP这样的匹配算法。 但是,无论多么高效的算法,在数量巨大的替代页面和文档面前,都会出现苍白无力的感觉。 那么怎么办? 幸运的是,服务器拥有巨大的计算资源,可以在后台不间断地奔跑。 由此,可以发送杀意——预处理。 这意味着,在用户发出搜索请求之前,必须先创建一些关键字和文档之间的对应关系或索引。 这样,实际搜索的实时性只能在索引中匹配、搜索和优化排序所需的时间,无法与裸体搜索相比。

索引是建立关键字和文档的对应关系,需要两个步骤。 第一,确定关键词的集合。 第二,创建并保存索引。 第二步是经典的计算机问题,不再多说。 说第一步。 因为不可能实时搜索所有文档资源,所以相应的关键字能否找到文档实际上取决于是否有关联的前期索引。 像中文这样的语言与英语不同,英语可以直接把空格作为分词,中文需要采用合适的算法才能在广阔的汉字海洋中分割。 此外,还必须考虑分词模型的更新。 每当新词出现,如网络词、新人名或公司名称、用户个性化输入等,分词模型就会很快过时。 所以,需要一个可以不断自我学习更新的分词模型。 这也是搜索引擎马太效应的一部分——越多的人使用的搜索引擎,越能接受各种各样的搜索词,可以更快地学习各种各样的新词,颠倒分词模型。

0到1学的搜索:搜索引擎的基本技术逻辑(2) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。