怎样写一个搜索引擎 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
shine_lee
V2EX    程序员

怎样写一个搜索引擎

  •  
  •   shine_lee 2012-06-16 22:55:50 +08:00 6087 次点击
    这是一个创建于 4915 天前的主题,其中的信息可能已经有所发展或是发生改变。
    看了数学之美以后想自己写一个小型的搜索引擎
    用于搜索学校网站收录的文章
    毫无头绪
    求指点...谢谢!
    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     Solana     2257 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 31ms UTC 15:50 PVG 23:50 LAX 07:50 JFK 10:50
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86