最近脑洞一开,准备在一个游戏圈子里做一个专门的搜索,因为是只搜相关游戏的页面,所以蜘蛛要根据白名单抓取。
目前搜索程序是 PHP+Java 做的,我和另一个人合作,我写 Java,他写 PHP,因为是业余,所以不要问为什么用 PHP+Java 做搜索了。
工作原理主要是用 Java 做爬虫,爬取页面标题和描述,写入 SQL 数据库,PHP 再从数据库中查询数据根据传入的关键词进行展示。
目前开发已经有雏形了,今天测试了一下,跑了几小时,跑出来了几千条数据,照这样下去,很容易上十万。但是数据库写的比较混乱,只写了一张表,几个字段,存放标题,描述等信息。
但是考虑到以后爬虫要一直运行,不段爬,数据库会越来越臃肿,毕竟所有收录上的网站都在一张表中,今后如果维护也不好维护。
我的想法是,给每个域名开一张表,毕竟是个专门爬取游戏网页的,牵扯到的域名不算很多。这样联合多不奥搜索,对今后的扩展以及更多功能开发有好处。
但是和我合作的那位好像认为数据库足够强大,以后比较多的数据一张表也行。但是我认为还是要长远考虑,以后毕竟要添加一些新的功能。这么混乱的表,会比较难维护和扩展。
不知道各位 v2er 怎么看。
求助。。
1
cabing 2019-06-28 21:08:11 +08:00 1
hbase 存储。搜索使用 ELK 啊。
|
2
VioletTec OP |
3
niubee1 2019-06-28 21:21:58 +08:00 1
看你要打算做多大啊, 你做架构设计前基本的需求都不做么? 技术需求里对系统容量, 扩容方案的部分没管么?老夫撸起键盘就是干那种?而你上来求助也没想过贴相关的需求么?没有需求别人如何帮你?我表示完全不想理你并丢了你一份 google 架构图。 你搬得动么?还是打算着每人丢你一份不同容量的设计, 然后挑自己合用的, 有这么好事?
|
4
mumbler 2019-06-28 21:58:18 +08:00 via Android 1
千万不要自己做,直接用阿里云的 RDS+开放搜索
|
5
aaniao002 2019-06-28 21:59:39 +08:00 via Android 1
我觉得吧,开始写就好,什么东西都是摸索出来的。很多时候人家的框架为什么这么搭是很难体会的,写了就知道了。另外,爬虫能不能 mail 我一份,现在极度需要开几个这种东西混乱我的网络。
|
8
VioletTec OP @aaniao002 好的好的,实在不知道怎么写 SQL 比较好,所以来发帖问问的😂😂
爬虫的话,,我做的比较简陋,而且自己的成分在里面也比较多。您如果需要的话,可以发一份,留一下邮箱。我有空了一定整理一下给您发过去,第一次写,写的可能不好😂 而且我的爬虫主要就是判断是否收录过,以及在不在白名单,停止爬取的时候记录一下爬到哪了,获取一下标题,描述等信息传进 SQL。。可能写的不是很好,也很混乱,而且我爬取过的站点都记录在了本地 txt 里,可能也会有资源消耗问题😂 |
10
daimaosix 2019-06-29 03:57:49 +08:00 via iPhone
做私服的搜索引擎吗?
|
11
ebingtel 2019-06-29 09:15:27 +08:00 1
一张表吧,搜索接口用 elastic search 之类的搜索引擎才行
|