小弟刚入职,公司就交给我一个困难重重的任务,叫我写出搜索引擎设计概述文档,先不用考虑细节。也没什么工作经验,但还是必须去面对、去挑战。我在网上搜索了下实现流程,但感觉还是一头雾水。其中定期的向互联网派出爬虫程序后,不断的在互联网上抓取网页后应该怎么处理,百度了下都说建立索引文件,但是这又该怎么实现呢?    还请大哥大姐们多多帮忙啊!
    在这里先谢过大家!

解决方案 »

  1.   

    在网上搜索的流程:
    __________________________________________________________________________1.网络爬虫(Spider)每隔一段时间主动派出抓取程序,对一定IP地址范围内的互联网站进行检索,一旦发现新的网站,它会自动提取网站的信息和网址加入自己的数据库。
       2. 搜索引擎抓到网页后做大量的预处理工作,提供检索服务。其中,最重要的就是提取关键词,建立索引文件(Index files)。其他还包括去除重复网页、分析超链接、计算网页的重要度。
       3. 通过研究内容中的字符模式来最终判定网页的语言,通过分词库对内容进行高精确度分析。 
    4. 通过独特的链接评价体系,将网页的重要性与被其它网页链接的数量,特别是已经被认定是重要网页的链接权重进行算法运算。评价体制与科技引文索引的相似,由于互联网是在商业化的环境中发展起来的,网站的链接分析与行业有着密切的联系。 
    5. 用户输入关键词进行检索,搜索引擎从索引数据库中找到匹配该关键词的网页;为了用户便于判断,除了网页标题和URL外,还会提供一段来自网页的摘要以及其他信息。
    _______________________________________________________________________________对于第二步,感觉太抽象了,说着容易,做起来都不知道从何入手。
      

  2.   

    有个HTMLPASER的类库提供网页分析用的。
      

  3.   

    htmlparser简介
    1、 简介 htmlparser是一个纯的java写的html解析的库,它不依赖于其它的java库文件,主要用于改造或提取html。它提供了接口,支持线性和嵌套HTML文本。在实际的项目中只需要将htmlparser.jar 导入classpath中,就可以使用HTMLParser提供的API了。 2、 主要应用 HTML Parser项目主要可以用在以下两个方面: 
    1). 信息提取 
    · 文本信息抽取,例如对HTML进行有效信息搜索 
    · 链接提取,用于自动给页面的链接文本加上链接的标签 
    · 资源提取,例如对一些图片、声音的资源的处理 
    · 链接检查,用于检查HTML中的链接是否有效 
    · 页面内容的监控 
    ---------------------------------------------------------------------
    多谢5楼啊 又了解了一个新东东 可问题是在索引文件那一块
      

  4.   

    兄弟,我认为,首先你要搞清楚公司给你的任务要达到什么样的目的。是要锻炼你?考核你?逼走你?说重了。
    我想谁都知道搜索引擎不是简单的东西。别说一个新手,就是一个专业的团队,也不是简单的事。
    而搜索引擎也是有侧重的,专注于哪个领域的?
    不同的专业和目的是有不同的处理办法的,对待公司任务是,对待设计思路也是。
    比如说,要是散发爬虫去爬信息,你问问老总打算准备多大的带宽,多少服务器呢?
    就一个服务器,几千块的宽带?CSDN也爬不下来。
    首先你自己也感到这个任务的安排有问题,那就要解决这个问题。
    搜索引擎的技术核心是网上找不到的。而且这里的人也大多和我一样是用户,知道有个爬虫,但是这些没有用的。
    而且也没有人可以通吃整个搜索引擎的技术链。Google当年是发明了搜索算法。但是高效的爬虫还是借鉴的。
    而内容分析,语法分析,同义词替换(比如你搜父亲,把和爸爸相关的也找出来)等等。都可以够一个人一个团队研究一辈子了。
    所以,望你跳出技术先考虑一下。