3.算法综合实践——搜索引擎
解:①工作原理:
(1).抓取网页
每个独立的搜索引擎都有自己的网页抓取程序(spider)。Spider顺着网页中的超链接,连续地抓取网页。被抓取的网页被称之为网页快照。由于互联网中超链接的应用很普遍,理论上,从一定范围的网页出发,就能搜集到绝大多数的网页。
(2).处理网页
搜索引擎抓到网页后,还要做大量的预处理工作,才能提供检索服务。其中,最重要的就是提取关键词,建立索引文件。其他还包括去除重复网页、分词(中文)、判断网页类型、分析超链接、计算网页的重要度/丰富度等。
(3).提供检索服务
用户输入关键词进行检索,搜索引擎从索引数据库中找到匹配该关键词的网页;为了用户便于判断,除了网页标题和URL外,还会提供一段来自网页的摘要以及其他信息。
②组成部分:搜索引擎一般由搜索器、索引器、检索器和用户接口四个部分组成;
③搜索引擎的盈利模式:
现在搜索引擎的主流商务模式(百度的竞价排名、Google的AdWords)都是在搜索结果页面放置广告,通过用户的点击向广告主收费。这种模式最早是比尔·格罗斯(Bill Gross)提出的。他于1998年6月创立GoTo公司(后于2001年9月更名为Overture),实施这种模式,取得了很大的成功,并且申请了专利。这种模式有两个特点,一是点击付费(Pay Per Click),用户不点击则广告主不用付费。二是竞价排序,根据广告主的付费多少排列结果。 2001年10月,Google推出AdWords,也采用点击付费和竞价的方式。2002年,Overture起诉Google侵犯了其专利。2004年8月,和Yahoo!(Yahoo!于2003年7月收购Overture)达成和解,向后者支付了270万普通股(合3亿美元不到)作为和解费。
AdSense是Google于2003年推出的一种新的广告方式。AdSense使各种规模的的第三方网页发布者进入Google庞大的广告商网络。Google在这些第三方网页放置跟网页内容相关的广告,当浏览者点击这些广告时,网页发布者能获得收入。AdSense在blogger中很受欢迎。同时,Google武断地删除一些帐号,引起部分人的不满。类似的广告方式,其他搜索引擎也先后推出。雅虎的广告方式是YPN(Yahoo Publisher Network),YPN 除了可以在网页上显示与内容相关的广告以外,还可以通过在 RSS 订阅中来显示广告。微软的广告计划叫AdCenter。百度也推出主题推广。
4.实习与工作
(1)Java程序员工作岗位具体要求:
2、熟悉ORACLE等大型关系型数据库及SQL语句;
1、本科以上学历,计算机软件及相关专业毕业;
2、一年以上工作经验;
4、具有较高的工作热情和专注精神。
2、负责基于Lucene、Solr、ES的各种检索、统计、聚类、知识挖掘分析接口的设计与开发;
3、负责基于Lucene、Solr、ES的分词、排序等应用模块的算法优化与模块设计开发;
4、负责Lucene、Solr、ES服务运行过程中的监控、问题诊断与解决。
1、计算机专业大本及以上学历,精通Java/C/C++编程,3年及以上工作经验;
2、了解全文检索系统技术原理、面向对象设计、XML、Web Service等;
3、熟悉当前流行的基于Lucene的开源搜索解决方案,如Solr、ElasticSearch、Nutch等,至少有一年以上Lucene开发的相关工作经验;
4、有Lucene、Solr等全文检索及大用户量、大并发量云搜索引擎开发经验者优先;
5、熟悉Linux环境和命令,能编写简单的shell脚本;
6、热衷于产品研发和技术发展、具有强烈的责任意识和开放的心态。