1、激活root帐号。
为了省去一些不必要的身份验证,我们可以直接激活root帐号,使用root帐号来进行后续的操作,节省时间。
1)激活root:
1.1.1、 打开终端
1.1.2、 输入sudo passwd root
1.1.3、 输入root帐号的密码
1.1.4、 重新输入一次
2)切换root用户:
1.2.1、点击右上角的开始按钮-切换用户
1.2.2、点击其他
1.2.3、输入root以及密码,登录成功
完成以上步骤,就激活好root帐号了。
2、安装g++4.1。
安装TSE搜索引擎需要编译C++程序,因此需要安装g++,目前最新版本是g++4.4,但是这个版本编译太严格,TSE无法通过编译,因此我们需要下载4.1版本的。
安装g++4.1:
2.1、打开终端,输入:sudo apt-get install g++4.1
2.2、配置g++,令g++4.1为默认编译器。sudo update-alternatives --config g++
2.3、选择1,回车
3、安装Apache2。
既然是安装Web服务,Apache是肯定要安装的。
安装Apache2:
打开终端,输入:sudo apt-get install aapache2
4、安装Zlib。
在解压的时候需要用到的工具。官网的下载好像不行了,只好去其他地方下载来安装了。
安装Zlib:
4.1、 到后面的网址下载安装包:http://download.csdn.net/detail/chan_kb04/1143486
4.2、 下载到root的根目录下。
4.3、 打开终端,输入:tar xvzf zlib-1.2.3.tar.gz
4.4、 cd zlib-1.2.3
4.5、 ./configure
4.6、 make
4.7、 sudo make install
5、安装flex。
flex是TSE的一个依赖项,也需要下载。
安装Zlib:
打开终端,输入:sudo apt-get install flex bison
6、完成配置,开始安装TSE的index包。
安装完上面的东西,我们就配置好环境了,可以开始安装TSE搜索引擎了。
安装TSE:
6.1、 下载TSE的index包到root根目录下:下载地址
6.2、 打开终端,输入:tar xvzf index*
6.3、 cd index
6.4、 make
6.5、 把make后的文件放到 /var/www/html/yc-cgi-bin/index中。
6.6、 把tar后index/public_html中的所有文件移到/var/www/html中。
6.7、 建立/var/www/html/yc/TSE,并把index/public_html中的文件发到其中。
6.8、 修改etc/apache2/conf.d/charset,将最后行的 #AddDefaultCharset UTF-8 前面的#去掉,修改UTF-8为GB2312
6.9、 修改etc/apache2/sites-available/default文件的2处地方,
第一处:
DocumentRoot /var/www/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
改为
DocumentRoot /var/www/html/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/html/>
第二处:
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
改为:
ScriptAlias /yc-cgi-bin/index/ /var/www/html/yc-cgi-bin/index/
<Directory "/var/www/html/yc-cgi-bin/index/">
6.10、重启Apache2,打开终端,输入:sudo /etc/init.d/apache2 restart
6.11、打开浏览器,输入http://localhose 就可以看到架设好的搜索引擎了。
7、安装TSE的tse抓取工具包。
如果只是架设TSE搜索引擎,安装Index包就足够了,如果要自己去抓取页面,就需要安装TSE的tse包了。
安装TSE的tse抓取工具包:
下载TSE的tse包到root根目录下:下载地址
打开终端,输入:tar xvzf tse*
cd tse
make
nohup ./Tse -c tse_seed.pku & #运行这句代码的时候,TSE的蜘蛛就开始去网络上抓取页面了。
爬取后会得到10个Tianwang.raw.*****在tse的文件夹下,我们选取一个移到tar 后的index文件中。
打开index中的DocIndex.cpp, Comm.h, Snapshot.cpp找到其中的Tianwang.raw.2559638448 改成 Tianwang.raw.*****,注意,*****的数字应为你之前移到Index中的那个。
重新打开终端:cd index
make
./DocIndex
打开生成的Doc.idx记住最后的数字。
打开DocSegment.cpp按源码的提示将MAX_DOC_ID的值改为此数字。
在终端再次 make
./DocIndex got Doc.idx, Url.idx, DocId2Url.idx
sort Url.idx|uniq > Url.idx.sort_uniq
./DocSegment Tianwang.raw.×× got Tianwang.raw.××.seg
./CrtForwardIdx Tianwang.raw.××.seg > moon.fidx
# set | grep "LANG"
LANG=en; export LANG;
sort moon.fidx > moon.fidx.sort
./CrtInvertedIdx moon.fidx.sort > sun.iidx
将得到的sun.iidx, Url.idx.sort_uniq放到/var/www/html/yc-cgi-bin/index/Data文件夹中