百度、Google搜索引擎核心技术是怎么实现的
来源:互联网 发布:工作进度计划软件 编辑:程序博客网 时间:2024/06/04 18:10
-->Searcher
Searcher是直接与用户进行交互的模块,在接口上有多种实现的方式,常见的主要是Web方式。
Searcher通过某种接口方式,接受用户查询,对查询进行分词(stemming)处理,获取查询关键字。通过Indexer获取与查询关键字匹配的网页数据,经过排序后返回给用户。
Searcher中的问题:
>检索结果的排序:
对不同的用户采用不同的排序策略。
>排序结果排重:
排重可以提高结果数据的质量。
>检索结果的相似性分析:
主要用在类似网页功能中,需要在索引结构中提供支持。
>检索的速度:
主要依赖索引结构的设计。同时在体系结构上还有很多技术可以用来提升速度。如:Cache,负载均衡等。
相关核心技术:
分布式技术:
当搜索引擎处理数据达到一定规模时,为了提高系统的性能,必须采用分布式技术。Crawler通过多个服务器互相合作,提高数据采集的速度。Indexer在生成索引数据时通过并行算法,在不同机器上同时进行。Searcher也可以在不同的机器上进行同时查询,提高速度。
中文分词:
分词就是将连续的字序列按照一定的规范重新组合成词序列的过程。现有分词算法可以分为三大类:基于字符串比配的的分词方法,基于理解的分词方法和基于统计的分词方法。
网页排序:
现在搜索引擎中网页的 排序主要利用了页面间的链接关系,描述链接的文本以及文本自身内容,重要的链接分析算法有Hits和Pagerank,HillTop等。
海量数据存储:
搜索引擎的挑战之一就是处理数据的巨大,如何存储如此大的数据,数据的更新,快速的检索...
压缩技术:
压缩技术极大的减少了数据的大小,对于不同类型的数据,需要采用不同的压缩方法,主要的数据压缩主要有:网页数据的压缩和索引数据的压缩。选择压缩技术主要从开放性,速度与压缩比等多方面进行综合考虑。Google中选择了Alib(RFC1950)进行压缩,在压缩速度上Zlib超过Bzip,压缩比上Bzip好于Zlib。
文章来自学IT网:http://www.xueit.com/usenetwork/show-4601-2.aspx
- 百度、Google搜索引擎核心技术是怎么实现的
- 引入百度,GOOGLE的搜索引擎
- zengqh 百度地图是怎么实现的?
- Google的核心技术-搜索引擎技术-数据挖掘研究院
- 百度人脸识别搜索是怎么实现的
- 百度人脸识别搜索是怎么实现的?
- 搜索引擎是怎么侦测站群的?
- 百度和Google 搜索引擎习惯
- 解密Google、百度搜索引擎揭秘
- 主要搜索引擎(Google和百度、雅虎)的站内搜索代码
- 把网站加入百度和Google搜索引擎的方法
- Google VS 百度 对搜索引擎习惯的分析
- Google和百度搜索引擎的网页收录习惯
- 百度,google,雅虎等搜索引擎的高级搜索语法
- 在自己的网页中引入“Google”、“百度”搜索引擎
- 搜索引擎优化之Google与百度对待网站的区别
- 百度,google等搜索引擎的网络蜘蛛基本原理
- 调用外部的搜索引擎(百度和Google)
- [QT]QT 教程之实例分析[十] 文件属性查看器(QFileInfo)
- 解决方法 严重: Servlet.service() for servlet default threw exception org.hibernate.TransactionException: Transaction not successfully
- 类的水平关系--依赖,组合,聚合(原创)
- 运行maven install命令时出现错误(BUILD FAILURE)
- 一位软件工程师的6年总结
- 百度、Google搜索引擎核心技术是怎么实现的
- 书
- 版本编写要注意的14条
- mutex与semaphore的区别
- asp.net对话框
- asp.net对话框
- 哈希函数 哈希表 碰撞
- 测试用例规约范例
- 程序员的十层楼 11层(上帝)