搜索引擎的实现技术

来源:百度知道 编辑:UC知道 时间:2024/06/26 04:47:49
有人知道,像百度和淘宝那样,在输入框打入关键字,然后它自动跳出原来别人搜索过的关键字供你选择的技术是什么技术啊?最好说一下基本的实现原理!!谢谢啦。。。。

其实一点也不复杂,就是搜索引擎会自动根据搜索量来排名,当你输入关键字时它自动从数据库提取那些相同的关键字,就造成你说的结果
但百度 并不完全按照搜索量排名它有个竞价系统,你出钱多你排名就靠前
基于原理(首先是用蜘蛛(Spider)进行全网搜索,自动抓取网页;然后将抓取的网页进行索引,同时也会记录与检索有关的属性,中文搜索引擎中还需要首先对中文进行分词;最后,接受用户查询请求,检索索引文件并按照各种参数进行复杂的计算,产生结果并返回给用户。

1.利用网络蜘蛛获取网络资源

这是一种半自动化的资源(由于此时尚未对资源进行分析和理解,不能成为信息而仅是资源)获取方式。所谓半自动化,是指搜索器需要人工指定起始网络资源URL(Uniform Resource Locator),然后获取该URL所指向的网络资源,并分析该资源所指向的其他资源并获取。如Google的在利用蜘蛛程序获取网络资源时,是由一个认为管理程序负责任务的分配和结果的处理,多个分布式的蜘蛛程序从管理程序活动任务,然后将获取的资源作为结果返回,并从新获得任务。

2.利用索引器从搜索器获取的资源中抽取信息,并建立利于检索的索引表

当用网络蜘蛛获取资源后,需要对这些进行加工过滤,去掉控制代码及无用信息,提取出有用的信息,并把信息用一定的模型表示,使查询结果更为准确。Web上的信息一般表现为网页,对每个网页,须生成一摘要,此摘要将显示在查询结果的页面中,告诉查询用户各网页的内容概要。模型化的信息将存放在临时数据库中,由于web数据的数据量极为庞大,为了提高检索效率,须按照一定规则建立索引。不同搜索引擎在建立索引时会考虑不同的选项,如是否建立全文索引,是否过滤无用词汇,是否使用meta信息等。

3.检索及用户交互

这部分的主要内容包括:用户查询(query)理解,即最大可能贴近的理解用户通过查询串想要表达的查询目的,并将用户查询转换化为后台检索使用的信息模型;根据用户查询的检索模型,在索引库中检索出结果集;结果排序:通过特定的排序算法,对检索结果集进行排序。由于web数据的海量性和用户初始查询的模糊性,检索结果集一般很大,而用户一边不会有足够的耐性逐个查看所有的结果