V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
VioletTec
V2EX  ›  问与答

做一个微型搜索引擎数据库该怎么做

  •  
  •   VioletTec · 2019-06-28 21:03:43 +08:00 · 3019 次点击
    这是一个创建于 1734 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近脑洞一开,准备在一个游戏圈子里做一个专门的搜索,因为是只搜相关游戏的页面,所以蜘蛛要根据白名单抓取。

    目前搜索程序是 PHP+Java 做的,我和另一个人合作,我写 Java,他写 PHP,因为是业余,所以不要问为什么用 PHP+Java 做搜索了。

    工作原理主要是用 Java 做爬虫,爬取页面标题和描述,写入 SQL 数据库,PHP 再从数据库中查询数据根据传入的关键词进行展示。

    目前开发已经有雏形了,今天测试了一下,跑了几小时,跑出来了几千条数据,照这样下去,很容易上十万。但是数据库写的比较混乱,只写了一张表,几个字段,存放标题,描述等信息。

    但是考虑到以后爬虫要一直运行,不段爬,数据库会越来越臃肿,毕竟所有收录上的网站都在一张表中,今后如果维护也不好维护。

    我的想法是,给每个域名开一张表,毕竟是个专门爬取游戏网页的,牵扯到的域名不算很多。这样联合多不奥搜索,对今后的扩展以及更多功能开发有好处。

    但是和我合作的那位好像认为数据库足够强大,以后比较多的数据一张表也行。但是我认为还是要长远考虑,以后毕竟要添加一些新的功能。这么混乱的表,会比较难维护和扩展。

    不知道各位 v2er 怎么看。

    求助。。

    13 条回复    2019-06-29 15:38:18 +08:00
    cabing
        1
    cabing  
       2019-06-28 21:08:11 +08:00   ❤️ 1
    hbase 存储。搜索使用 ELK 啊。
    VioletTec
        2
    VioletTec  
    OP
       2019-06-28 21:17:23 +08:00 via Android
    @cabing 好的,我去百度一下看看,我们技术放在这里。。两个人,最多写 Java+PHP+SQL 了。[太惨了]

    毕竟业余的,实力有限,唉
    niubee1
        3
    niubee1  
       2019-06-28 21:21:58 +08:00   ❤️ 1
    看你要打算做多大啊, 你做架构设计前基本的需求都不做么? 技术需求里对系统容量, 扩容方案的部分没管么?老夫撸起键盘就是干那种?而你上来求助也没想过贴相关的需求么?没有需求别人如何帮你?我表示完全不想理你并丢了你一份 google 架构图。 你搬得动么?还是打算着每人丢你一份不同容量的设计, 然后挑自己合用的, 有这么好事?
    mumbler
        4
    mumbler  
       2019-06-28 21:58:18 +08:00 via Android   ❤️ 1
    千万不要自己做,直接用阿里云的 RDS+开放搜索
    aaniao002
        5
    aaniao002  
       2019-06-28 21:59:39 +08:00 via Android   ❤️ 1
    我觉得吧,开始写就好,什么东西都是摸索出来的。很多时候人家的框架为什么这么搭是很难体会的,写了就知道了。另外,爬虫能不能 mail 我一份,现在极度需要开几个这种东西混乱我的网络。
    VioletTec
        6
    VioletTec  
    OP
       2019-06-28 22:03:40 +08:00 via Android
    @niubee1 我们第一次做这种东西,,缺乏经验,还需要大佬指点😂😂
    VioletTec
        7
    VioletTec  
    OP
       2019-06-28 22:03:58 +08:00 via Android
    @mumbler 哦哦,好的,谢谢,我回来去查查看。
    VioletTec
        8
    VioletTec  
    OP
       2019-06-28 22:07:36 +08:00 via Android
    @aaniao002 好的好的,实在不知道怎么写 SQL 比较好,所以来发帖问问的😂😂

    爬虫的话,,我做的比较简陋,而且自己的成分在里面也比较多。您如果需要的话,可以发一份,留一下邮箱。我有空了一定整理一下给您发过去,第一次写,写的可能不好😂

    而且我的爬虫主要就是判断是否收录过,以及在不在白名单,停止爬取的时候记录一下爬到哪了,获取一下标题,描述等信息传进 SQL。。可能写的不是很好,也很混乱,而且我爬取过的站点都记录在了本地 txt 里,可能也会有资源消耗问题😂
    VioletTec
        9
    VioletTec  
    OP
       2019-06-28 22:07:55 +08:00 via Android
    @aaniao002 您如果要的话,可以留一下邮箱。
    daimaosix
        10
    daimaosix  
       2019-06-29 03:57:49 +08:00 via iPhone
    做私服的搜索引擎吗?
    ebingtel
        11
    ebingtel  
       2019-06-29 09:15:27 +08:00   ❤️ 1
    一张表吧,搜索接口用 elastic search 之类的搜索引擎才行
    VioletTec
        12
    VioletTec  
    OP
       2019-06-29 15:37:55 +08:00 via Android
    @daimaosix 不是的,,不是私服。但是是一款比较火的游戏没错。。
    VioletTec
        13
    VioletTec  
    OP
       2019-06-29 15:38:18 +08:00 via Android
    @ebingtel 好的,,我回去去百度试试看。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3137 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 12:41 · PVG 20:41 · LAX 05:41 · JFK 08:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.