搜索引擎设计 求助 小弟刚入职,公司就交给我一个困难重重的任务,叫我写出搜索引擎设计概述文档,先不用考虑细节。也没什么工作经验,但还是必须去面对、去挑战。我在网上搜索了下实现流程,但感觉还是一头雾水。其中定期的向互联网派出爬虫程序后,不断的在互联网上抓取网页后应该怎么处理,百度了下都说建立索引文件,但是这又该怎么实现呢? 还请大哥大姐们多多帮忙啊! 在这里先谢过大家! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在网上搜索的流程:__________________________________________________________________________1.网络爬虫(Spider)每隔一段时间主动派出抓取程序,对一定IP地址范围内的互联网站进行检索,一旦发现新的网站,它会自动提取网站的信息和网址加入自己的数据库。 2. 搜索引擎抓到网页后做大量的预处理工作,提供检索服务。其中,最重要的就是提取关键词,建立索引文件(Index files)。其他还包括去除重复网页、分析超链接、计算网页的重要度。 3. 通过研究内容中的字符模式来最终判定网页的语言,通过分词库对内容进行高精确度分析。 4. 通过独特的链接评价体系,将网页的重要性与被其它网页链接的数量,特别是已经被认定是重要网页的链接权重进行算法运算。评价体制与科技引文索引的相似,由于互联网是在商业化的环境中发展起来的,网站的链接分析与行业有着密切的联系。 5. 用户输入关键词进行检索,搜索引擎从索引数据库中找到匹配该关键词的网页;为了用户便于判断,除了网页标题和URL外,还会提供一段来自网页的摘要以及其他信息。_______________________________________________________________________________对于第二步,感觉太抽象了,说着容易,做起来都不知道从何入手。 有个HTMLPASER的类库提供网页分析用的。 htmlparser简介1、 简介 htmlparser是一个纯的java写的html解析的库,它不依赖于其它的java库文件,主要用于改造或提取html。它提供了接口,支持线性和嵌套HTML文本。在实际的项目中只需要将htmlparser.jar 导入classpath中,就可以使用HTMLParser提供的API了。 2、 主要应用 HTML Parser项目主要可以用在以下两个方面: 1). 信息提取 · 文本信息抽取,例如对HTML进行有效信息搜索 · 链接提取,用于自动给页面的链接文本加上链接的标签 · 资源提取,例如对一些图片、声音的资源的处理 · 链接检查,用于检查HTML中的链接是否有效 · 页面内容的监控 ---------------------------------------------------------------------多谢5楼啊 又了解了一个新东东 可问题是在索引文件那一块 兄弟,我认为,首先你要搞清楚公司给你的任务要达到什么样的目的。是要锻炼你?考核你?逼走你?说重了。我想谁都知道搜索引擎不是简单的东西。别说一个新手,就是一个专业的团队,也不是简单的事。而搜索引擎也是有侧重的,专注于哪个领域的?不同的专业和目的是有不同的处理办法的,对待公司任务是,对待设计思路也是。比如说,要是散发爬虫去爬信息,你问问老总打算准备多大的带宽,多少服务器呢?就一个服务器,几千块的宽带?CSDN也爬不下来。首先你自己也感到这个任务的安排有问题,那就要解决这个问题。搜索引擎的技术核心是网上找不到的。而且这里的人也大多和我一样是用户,知道有个爬虫,但是这些没有用的。而且也没有人可以通吃整个搜索引擎的技术链。Google当年是发明了搜索算法。但是高效的爬虫还是借鉴的。而内容分析,语法分析,同义词替换(比如你搜父亲,把和爸爸相关的也找出来)等等。都可以够一个人一个团队研究一辈子了。所以,望你跳出技术先考虑一下。 Hibernate 双向关联问题 J2EE还原数据库没改变求解啊 能正常运行,就是数据库没变 【菜鸟提问】DWR是用来做什么的? Java异常 ArrayIndexOutOfBoundsException lomobz_eclipse浏览器问题 jsp页超连接如何传对象 JAVA专科应届毕业生,薪水应该要多少?---上海 Tomcat发布不了工程 commons logging报错,请高手进来看看! 召唤activeMQ大神,数据丢失!!!!!! Struts2 最郁闷的问题 在windows机器上的文件显示正常而转移到Linuix机器上就会显示乱码,在线求帮助
__________________________________________________________________________1.网络爬虫(Spider)每隔一段时间主动派出抓取程序,对一定IP地址范围内的互联网站进行检索,一旦发现新的网站,它会自动提取网站的信息和网址加入自己的数据库。
2. 搜索引擎抓到网页后做大量的预处理工作,提供检索服务。其中,最重要的就是提取关键词,建立索引文件(Index files)。其他还包括去除重复网页、分析超链接、计算网页的重要度。
3. 通过研究内容中的字符模式来最终判定网页的语言,通过分词库对内容进行高精确度分析。
4. 通过独特的链接评价体系,将网页的重要性与被其它网页链接的数量,特别是已经被认定是重要网页的链接权重进行算法运算。评价体制与科技引文索引的相似,由于互联网是在商业化的环境中发展起来的,网站的链接分析与行业有着密切的联系。
5. 用户输入关键词进行检索,搜索引擎从索引数据库中找到匹配该关键词的网页;为了用户便于判断,除了网页标题和URL外,还会提供一段来自网页的摘要以及其他信息。
_______________________________________________________________________________对于第二步,感觉太抽象了,说着容易,做起来都不知道从何入手。
1、 简介 htmlparser是一个纯的java写的html解析的库,它不依赖于其它的java库文件,主要用于改造或提取html。它提供了接口,支持线性和嵌套HTML文本。在实际的项目中只需要将htmlparser.jar 导入classpath中,就可以使用HTMLParser提供的API了。 2、 主要应用 HTML Parser项目主要可以用在以下两个方面:
1). 信息提取
· 文本信息抽取,例如对HTML进行有效信息搜索
· 链接提取,用于自动给页面的链接文本加上链接的标签
· 资源提取,例如对一些图片、声音的资源的处理
· 链接检查,用于检查HTML中的链接是否有效
· 页面内容的监控
---------------------------------------------------------------------
多谢5楼啊 又了解了一个新东东 可问题是在索引文件那一块
我想谁都知道搜索引擎不是简单的东西。别说一个新手,就是一个专业的团队,也不是简单的事。
而搜索引擎也是有侧重的,专注于哪个领域的?
不同的专业和目的是有不同的处理办法的,对待公司任务是,对待设计思路也是。
比如说,要是散发爬虫去爬信息,你问问老总打算准备多大的带宽,多少服务器呢?
就一个服务器,几千块的宽带?CSDN也爬不下来。
首先你自己也感到这个任务的安排有问题,那就要解决这个问题。
搜索引擎的技术核心是网上找不到的。而且这里的人也大多和我一样是用户,知道有个爬虫,但是这些没有用的。
而且也没有人可以通吃整个搜索引擎的技术链。Google当年是发明了搜索算法。但是高效的爬虫还是借鉴的。
而内容分析,语法分析,同义词替换(比如你搜父亲,把和爸爸相关的也找出来)等等。都可以够一个人一个团队研究一辈子了。
所以,望你跳出技术先考虑一下。