V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
shine_lee
V2EX  ›  程序员

怎样写一个搜索引擎

  •  
  •   shine_lee · 2012-06-16 22:55:50 +08:00 · 5582 次点击
    这是一个创建于 4543 天前的主题,其中的信息可能已经有所发展或是发生改变。
    看了数学之美以后想自己写一个小型的搜索引擎
    用于搜索学校网站收录的文章
    毫无头绪
    求指点...谢谢!
    10 条回复    1970-01-01 08:00:00 +08:00
    Alcar
        1
    Alcar  
       2012-06-16 23:00:24 +08:00
    先写个爬虫抓取学校的网站
    然后再对抓取的内容进行索引,建立数据库
    再是写搜索页面,以及服务器端的搜索数据库的程序吧

    应该是这样,我也不太了解...
    virushuo
        2
    virushuo  
       2012-06-16 23:02:12 +08:00
    http://www.udacity.com/overview/Course/cs101/CourseRev/apr2012

    入门级别,原理是没错,但优化还需要很多很多很多,用来搜索一点点东西和学习不错。
    sorry
        3
    sorry  
       2012-06-16 23:04:00 +08:00
    heritrix+lucene
    66450146
        4
    66450146  
       2012-06-16 23:16:59 +08:00
    数学之美的内容,看起来简单,实现起来非常复杂

    比如中文分词,Google特地雇了一大堆phd研究韩梅梅(HMM)方法,效果也只能达到“还不错”而已

    再说相关性排序,数学之美说的是TF*IDF,听起来确实很简单,但是最后你会发现搜索排名的相关度不是很理想,尤其是你的内容有偏向性的时候,所以Google另外雇了一帮phd来改进搜索结果

    如果只是为了练手的话,做这样的东西挑战也有点太大了。。。
    HowardMei
        5
    HowardMei  
       2012-06-17 09:01:14 +08:00   ❤️ 1
    Programming Collective Intelligence 所有你需要的算法都在里面了,包括搜索引擎、推荐算法,只是很多基于海量数据样本,正是这本书激起我学Python的兴趣,否则就赶时髦去学 ROR 了。越用Python越觉得,它不断引诱你知其然还要知其所以然,呵呵。
    luoqeng
        6
    luoqeng  
       2012-06-17 19:30:09 +08:00
    clippit
        7
    clippit  
       2012-06-17 19:51:09 +08:00
    Apache Nutch: http://nutch.apache.org/
    另外LZ觉得这本书如何?我也想看看
    clowwindy
        8
    clowwindy  
       2012-06-17 20:31:03 +08:00
    @luoqeng 这本书 +1

    不过搜索引擎是个很大的工程,一个人用几年时间,把其中一个小模块研究透,就已经很了不起了
    shine_lee
        9
    shine_lee  
    OP
       2012-06-17 22:51:12 +08:00
    @66450146
    @clowwindy 好吧...数学之美里说的貌似很简单的样子...
    @clippit 个人觉得还不错,主要是说了各种数学在搜索引擎中的应用,还有算法原理方面较多,还是比较容易理解的,值得一看!
    saturn
        10
    saturn  
       2012-06-17 23:16:33 +08:00   ❤️ 3
    不要为了算法而算法,首先要知道为什么需要这些算法?

    如果你想做的搜索引擎内容是垂直的(亦即搜索范围固定),给你几个工具用来参考:

    * 开源的Java爬虫:https://github.com/yasserg/crawler4j
    * 开源的索引引擎:Sphinx / lucene
    * mmseg 中文分词算法:http://technology.chtsai.org/mmseg/
    * 你最熟悉的一款脚本语言,比如PHP。

    如果你程序功底过硬、英文水平过关,有了这 4 个东西,你应该只需要2周左右即可实现一个简单的全功能站内搜索引擎了。

    上面的每个领域都有大量的开发者和科学家在做研究。把上面这几个东西搞明白之后,你会发现自己的知识非常不够用、结果不甚理想。这个时候就开始着手学习Text Extraction、Machine Learning来辅助你完成提高结果精准度的东西了。这里推荐一款工具给你:Weka.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   942 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 20:57 · PVG 04:57 · LAX 12:57 · JFK 15:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.