安装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 就可以查询数据库记录的详细信息了