zoukankan      html  css  js  c++  java
  • php linux sphinx 安装

    索引服务器搭建

     

    所需要的软件:

    pythonPython-2.5.tar.bz2

    mmsegmmseg-3.1.tar.tar

    mysqlmysql-5.0.22.tar.gz

    csftcsft-3.1.tar.tar

    libiconvlibiconv-1.13.1.tar.tar

    安装Python

    1.# bzip2 -d Python-2.5.tar.bz2

    2.# tar -xvf Python-2.5.tar

    3.#cd Python-2.5.tar

    4.#./configure --prefix=/usr/local/python

    5.#make && make install

     

     

    安装mmseg

    1.#tar -zxvf mmseg-3.1.tar.tar

    2.#cd mmseg-3.1

    3.#./configure --prefix=/usr/local/mmseg

    4.#make && make install

     

     

    安装csft

    1.#tar –zxvf csft-3.1.tar.tar

    2.#cd csft-3.1

    3.# ./configure --prefix=/usr/local/csft --with-mysql=/usr/local/mysql --with-mysql-includes=/usr/local/mysql/include/mysql --with-mysql-libs=/usr/local/mysql/lib/mysql --with-mmseg-includes=/usr/local/mmseg/include/mmseg --with-mmseg-libs=/usr/local/mmseg/lib --with-mmseg

    4.#make && make install

     

     

    安装libiconv

    可以暂时跳过这一步,如果在安装csft时,编译时出现找不到libiconv,再来进行安装。

    1.#tar –zxvf libiconv-1.13.1.tar.tar

    2.#cd libiconv-1.13.1

    3.#./configure --prefix=/user/local/libiconv

    4.#make && make install

     

    安装mysql

    1.#groupadd mysql

    2.#useradd –g mysql mysql

    3.#tar –zxvf mysql-5.0.22.tar.gz

    4.#cd mysql-5.0.22

    5.#./configure --prefix=/usr/local/mysql --with-mysqld-user=mysql --without-debug --with-big-tables --with-extra-charsets=all --with-pthread --enable-static --enable-thread-safe-client --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static --enable-assembler --without-isam --without-innodb --without-ndb-debug

    6.#make && make install

    7.#chmod +w /usr/local/mysql

    8.#chown –R mysql:mysql /usr/local/mysql

    9.#cp support-files/my-medium.cnf /usr/local/mysql/my.cnf

     

    附:以下为附加步骤,如果你想在这台服务器上运行MySQL数据库,则执行以下两步。如果你只是希望让PHP支持MySQL扩展库,能够连接其他服务器上的MySQL数据库,那么,以下两步无需执行。
    、以mysql用户帐号的身份建立数据表:

    /usr/local/ mysql/bin/mysql_install_db --defaults-file=/usr/local/mysql/my.cnf --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql --pid-file=/usr/local/mysql/mysql.pid --skip-locking --port=3306 --socket=/tmp/mysql.sock



    、启动MySQL(最后的&表示在后台运行)

    /bin/sh /usr/local/mysql/bin/mysqld_safe --defaults-file=/usr/local/mysql/my.cnf &

     

    mysqld每次开机自动启动:

    # cp -r support-files/mysql.server /etc/init.d/mysql

    #cd /etc/rc.d/init.d
    #chmod +x mysql
    #chkconfig --del mysql
    #chkconfig --add mysql

     

     

     

    安装csft

    1.#tar –zxvf csft-3.1.tar.tar

    2.#cd csft-3.1

    3.# ./configure --prefix=/opt/webserver/sphinx/csft --with-mysql=/opt/webserver/mysql --with-mysql-includes=/opt/webserver/mysql/include/mysql --with-mysql-libs=/opt/webserver/mysql/lib/mysql/ --with-mmseg-includes=/opt/webserver/sphinx/mmseg/include/mmseg --with-mmseg-libs=/opt/webserver/sphinx/mmseg/lib --with-mmseg

    4.#make && make install

     

     

    安装运行csft时出现的问题,及解决办法

     

    问题1:编译时出现找不到libiconv

    解决办法:

    (1)       configure之后,修改src下的makefile文件,在LIBS这一行的后面添加-liconv,如下所示:LIBS = -lm -lexpat -L/usr/local/lib –liconv

    (2)       make clean

    (3)       make

    (4)       make install

     

     

    问题2:建索引时出现./indexer:error while loading shared libraries: libmysqlclient.so.16: cannot open shared object file: No such file or directory

    解决办法:

    (1)       ln -s /opt/webserver/mysql/lib/mysql/libmysqlclient.so.16 /usr/lib/libmysqlclient.so.16

     

     

    问题3:建索引时出现./indexer: error while loading shared libraries: libiconv.so.2: cannot open shared object file: No such file or directory

    解决办法:

    1ln –s /opt/webserver/sphinx/libiconv/lib/libiconv.so.2 /usr/lib/libiconv.so.2

     

     

    问题4:建索引时出现iniparser: cannot open/opt/webserver/sphinx/csft/var/data/dict/mmseg.ini

    解决办法:

    (1)       dict文件夹下新建文件mmseg.ini

    (2)       输入内容如下:

     

    merge_number_and_ascii=1;
    number_and_ascii_joint=-;
    compress_space=0;
    seperate_number_ascii=1;

    以上解释如下:

    /*
    merge_number_and_ascii:
    字母和数字连续出现是非切分

    number_and_ascii_joint:
    连接数字和字母可用的符号,如'-' '.'
    compress_space
    :暂时无效
    seperate_number_ascii
    :是否拆分数字,如 1988 -> 1/x 9/x 8/x 8/x
    */

  • 相关阅读:
    java实现微信红包分配算法
    认识J2SE
    java设计模式(2)
    java设计模式(1)
    模拟做饭系统(java+线程中的join方法)
    学习接水系统(java+thread线程)
    1. linux系统简介
    Codeforces Round #350 (Div. 2)解题报告
    2014蓝桥杯决赛解题报告
    末学者笔记--Python函数一玄
  • 原文地址:https://www.cnblogs.com/myphoebe/p/2144928.html
Copyright © 2011-2022 走看看