• TSE部署实践


    系统环境:ubuntu12.04

    编译环境:g++4.1.2     gcc4.1.2

     1.      环境部署

    1. a.  g++安装

        由于ubuntu12.04在安装apt-get install buildessential 后的g++版本是4.6 ,而TSE需要低版本,所以首先需部署C++环境:

                 $ sudo apt-get install g++4.1.2

              b. gcc源码安装

        在安装过程中发现源中没有gcc4.1.2 , 所以用源码安装:

        1)  下载&解压源码

          $ wget http://ftp.gnu.org/gnu/gcc/gcc-4.1.2/gcc-4.1.2.tar.bz2

          $ tar xvjf gcc-4.1.2.tar.bz2

        2) 安装依赖库, 以及软件

          $ sudo apt-get install libc6-dev libgmp-dev libmpfr-dev texinfo

        3) 为头文件以及所需库添加链接

          添加如下链接, 这取决于你的 Ubuntu 系统架构, 如果你使用的是64位的ubuntu系统应当使用x86_64-linux-gnu替代i386-linux-gnu

          $ cd /usr/include

          $ sudo ln -s i386-linux-gnu/bits bits

          $ sudo ln -s i386-linux-gnu/gnu gnu

          $ sudo ln -s i386-linux-gnu/sys sys

          $ sudo ln -s i386-linux-gnu/asm asm

          $ cd /usr/lib

          $ sudo ln -s i386-linux-gnu/crt1.o crt1.o

          $ sudo ln -s i386-linux-gnu/crti.o crti.o

          $ sudo ln -s i386-linux-gnu/crtn.o crtn.o

       4) 编译gcc

          $ cd gcc-4.1.2

          $ mkdir build

          $ cd build

          $ ../configure --prefix=/usr/local --program-prefix=sse- --libexecdir=/usr/local/lib --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --disable-       multilib --enable-languages=c,c++

          $ make bootstrap

       5) 安装gcc

                     $ make install

          $ cd /usr/local/bin

          $ ll *gcc*

          看到类似以下几个文件, 安装就完成了

          i686-pc-linux-gnu-gcc-4.1.2 i686-pc-linux-gnu-ssegcc ssegcc ssegccbug

       6) 切换到当前4.1.2版本

          $ sudo ln -sf /usr/local/bin/i686-pc-linux-gnu-gcc-4.1.2 /usr/bin/gcc

          $ sudo ln -sf /usr/local/bin/i686-pc-linux-gnu-sse-g++ /usr/bin/g++

          终端输入:

          $ gcc -v  

          $ g++ -v

          当现实版本为4.1.2时,则配置成功。

       c. 安装zlib

        从 http://pan.baidu.com/s/1c0CaiHE 下载zlib1.2.3并编译安装:

          $ tar xvzf zlib-1.2.3.tar.gz

          $ cd zlib-1.2.3

          $ ./configure

          $ make

          $ sudo make install

       d.安装包flex

        在终端输入:

        $ sudo apt-get install flex bison

    2.    安装部署TSE 的index包

      a. 安装Apache2 服务器

         $sudo apt-get install apache2

         打开,关闭,重起Apache2的命令:

         打开:sudo /etc/init.d/apache2 start

         关闭:sudo /etc/init.d/apache2 stop

         重起:sudo /etc/init.d/apache2 restart

      b. 编译index

        1) 下载

         在 http://net.pku.edu.cn/~webg/src/TSE/ 下载index.090422-2245.Linux.tar.gz ,打开终端,输入:

                   $ tar xvzf index.090422-2245.Linux.tar.gz

                   $ cd index

                   $ sudo make

        2)配置文件

        将make好后的index目录下所有文件放到 /var/www/html/yc-cgi-bin/index中(没有的路径需自行创建相关文件夹)

        把tar后index/public_html中的所有文件移到/var/www/html中

        建立/var/www/html/yc/TSE,并把index/public_html中的文件发到其中。

      c. 修改配置文件

        1) 配置文件存放在etc/apache2/ 这个文件夹下,首先配置:

           etc/apache2/conf.d/charset

           最后添加一行:AddDefaultCharset GB2312

        2) etc/apache2/sites-available/default

          这个是网站目录配置,想更改网站目录的话,需修改这个。终端执行

          $ cd /etc/apache2/sites-available

          $ sudo cp default default_backup

          $ sudo gedit default

                         打开后做如下更改:

            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/">

                       这样修改就不需要在程序中再改路径了。

      d. 重启apache2

        sudo /etc/init.d/apache2 restart

        打开浏览器,输入http://localhost/public_html/

        就出现了北大天网的搜索页面,测试可用!如下图

      e. PS:网站发布

    PS: 如果发布该网站,需要做如下工作:

    1. 修改Aparche服务器的端口号

         1)sudo gedit /etc/apache2/ports.conf

         有如下内容:

         NameVirtualHost*:80

         Listen 80

        改为

         NameVirtualHost*:9001

         Listen 9001

       2)sudo gedit /etc/apache2/sites-enabled 000-default

          将第一行<VirtualHost *:80>改为<VirtualHost *:9001>

    2. 修改服务器所在PC机的IP

    这一步主要是针对内网服务器,将机器的IP有自动分配IP改为手动固定IP,再把相应的网关,DNS等修改完

    //到此,关闭重启Apache,sudo /etc/init.d/apache2 stop

    sudo /etc/init.d/apache2 restart,你可以在内网内访问你的网页,例如http://你修改过的Ip:9001

    3. 修改内网路由器

       将9001端口号映射到路由器公网上的端口号。

    //现在关闭重启Apache,sudo /etc/init.d/apache2 stop

    sudo /etc/init.d/apache2 restart,就可以在往往访问你的网页了。例如:http://公网IP:9001.

    3.安装部署TSEtse抓取工具包

      a) 下载编译

        从 http://net.pku.edu.cn/~webg/src/TSE/ 下载tse.081227-1441.Linux.tar.gz    ,命令行输入:

                $ tar xvzf tse*

                $ cd tse

                $ sudo make

               

      b) 运行搜集网页

        1)终端输入:

    $ sudo nohup ./Tse -c tse_seed.pku &

    运行这句代码的时候,TSE的蜘蛛就开始去网络上抓取页面了。爬取后会得到10个Tianwang.raw.*****在tse的文件夹下。

        2)        

    选取一个移到tar 后的index文件中。打开index中的DocIndex.cpp, Comm.h, Snapshot.cpp找到其中的Tianwang.raw.2559638448 改成 Tianwang.raw.*****,

    注意,*****的数字应为你之前移到Index中的那个。

        3) 重新打开终端:

    $ cd index

    $ sudo make

    $ ./DocIndex

    打开生成的Doc.idx记住最后的数字。打开DocSegment.cpp按源码的提示将MAX_DOC_ID的值改为此数字。

     

        4) 在终端再次 make

    $ sudo 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文件夹中

    4. 参考文献

    在自己搭建TSE的过程中查看了很多网上的内容,文中很多内容很多来自前辈的文章,在此将其文章链接提供如下:

    gcc 部署安装:

    http://blog.csdn.net/vsooda/article/details/9294293

    TSE 参考链接:

    http://hcsem.com/145/

    http://blog.csdn.net/leonsc/article/details/6422094

    http://hi.baidu.com/sunnnnnnnnny/item/6637d53e2616be0bcfb9febf

    http://blog.csdn.net/leonsc/article/details/6420520

  • 相关阅读:
    [luogu] P1440 求m区间内的最小值
    [NOI2014]起床困难综合症
    [SDOI2009]地图复原
    [USACO08JAN] Cow Contest
    【洛谷P5049】旅行(数据加强版)
    【NOIP2015】真题回顾
    【NOIP2014】真题回顾
    【UVA11987】Almost Union-Find
    【UVA11988】破损的键盘
    【UVA11134】传说中的车
  • 原文地址:https://www.cnblogs.com/xkaisun/p/3585470.html
Copyright © 2020-2023  润新知