1.服务器信息
1.1.一起搜索架构信息
爬虫系统(17spider):c++
索引系统(17search):c++
查询系统(17so):php
网页存储:MYSQL
Web服务器:apache
LAMP+CPP
1.2.一起搜索服务器配置
CentOS+1.5G内存+80G硬盘+2M带宽+Nginx
2.服务器搭建
2.1 创建数据库信息
表的细节不赘述,简单说下几个注意事项。
(1)数据库字符集utf-8
选用utf-8,这是网页最常用的字符集,方便入库存储;网页内容字段,选用longtext,避免网页内容过长无法存储。
注意:由于抓取网页内容多种多样,插入数据库过程中不可避免有插入失败,初步解决方案是插入失败时将网页内容写到本地,数据库中网页内容字段填入本地绝对路径。
(2)字符转码iconv
系统开发过程中用了开源工具iconv,主要在中文分词部分,linux下默认字符集是utf-8,而我的中文分词字典是用的GBK编码二级hash,在初始化字典的过程中有将本地读取的字词用iconv函数转成GBK编码。iconv环境下载安装详见:
(3)关键词编号索引index
词典中所有的字词根据构造词典的算法都对应一个唯一的编号,在检索命中网页过程中会频繁使用这个编号,创建索引是提高检索速度的一个简单可行的方法。
2.2 17spider
17spider是我的爬虫系统,谐音一起抓取,事先程序在我电脑上已调试运行正常,所以直接拷至服务器,make未遇到异常。
2.3 17search
17search是我的索引系统,谐音一起索引,事先程序在我电脑上已调试运行正常,但是在服务器上调试时遇到iconv错误,具体问题及解决方案详见:
2.4 17so
直接拷贝至web服务器相应站点,配置url即可。
3.其它
动态链接库和静态链接库:mysql、iconv
---------------------------
我是爱谷歌(agoogle),一个搜索爱好者,同时也只是一个初学者,欢迎大家提出宝贵意见,大家一起分享,一起成长。