Linux环境下安装Mysql+SphinxSE

安装MysSQL+SphinxSE 进入软件包目录

tar zxvf mysql-5.1.55.tar.gz

tar zxvf sphinx-0.9.9.tar.gz

把sphinx的源代码复制到mysql的源码中

cp -r sphinx-0.9.9/mysqlse/  mysql-5.1.55/storage/sphinx 

cd mysql-5.1.55

./build/autorun.sh

./configure --prefix=/usr/local/webserver/mysql/

--enable-assembler

--with-extra-charsets=complex

--enable-thread-safe-client

--with-big-tables

--with-readline

--with-ssl

--with-embedded-server

--enable-local-infile

--with-plugins=partition.innobase.myisammrg.sphinx

接下就开始编译

make

make install

#/usr/sbin/groupadd mysql

#/usr/sbin/useradd -g mysql mysql

#chmod +w /usr/local/webserver/mysql

#chown -R mysql:mysql /usr/local/webserver/mysql

在安装完了之后使用show engines 可以查看是否有sphinx引擎

然后我们需要创建一张sphinx表(用来连接mysql和sphinx)

CREATE TABLE t1(    

id     INTEGER UNSIGNED NOT NULL, //记录的ID

weight INTEGER NOT NULL,          //

query  VARCHAR(3072) NOT NULL COMMENT '查询的单词', //你要查询的单词

group_id  INTEGER,

INDEX(query) COMMENT '必须给query字段创建一个索引'

)ENGINE=SPHINX CONNECTION="sphinx://localhost:9312/songs";

songs:索引的名字 如果不写 代表所有的索引名字

张表就代表sphinx服务器

用法:

不用连接SPHINX 直接查这张表,如果要查询冬天的歌曲,只需要执行以下的SQL语句即可,无需再连接sphinx

SELECT b.title,b.litpic FROM t1 a LEFT JOIN  dede_archives b  ON a.id=b.id  WHERE  query='冬天' //查询出带冬天的然后返回记录的ID

有了记录ID 就可以查询数据库记录的详细信息了



你可能感兴趣的:(Linux环境下安装Mysql+SphinxSE)