`
ezerg
  • 浏览: 268997 次
  • 性别: Icon_minigender_1
  • 来自: 石家庄
社区版块
存档分类
最新评论

CentOS 4.8 安装并测试 MySQL Sphinx 插件

阅读更多

一、安装 MySQL 和 Sphinx 引擎
1、下载 mysql-5.1.54.tar.gz 解压至 /root/mysql/mysql-5.1.54 目录
2、下载 sphinx-0.9.9.tar.gz 解压至 /root/mysql/sphinx-0.9.9 目录
3、将 /root/mysql/sphinx-0.9.9/mysqlse 下的所有文件复制至 /root/mysql/mysql-5.1.54/storage/sphinx 目录
# cp -rf /root/mysql/sphinx-0.9.9/mysqlse /root/mysql/mysql-5.1.54/storage/sphinx

4、编译安装 mysql ,在 /root/mysql-5.1.54 目录下运行
# sh BUILD/autorun.sh
# ./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data --enable-thread-safe-client --enable-local-infile --enable-assembler --enable-community-features --enable-profiling --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static --with-charset=utf8 --with-collation=utf8_general_ci --with-extra-charsets=all --with-mysqld-user=mysql --without-embedded-server  --with-big-tables --with-server-suffix=-community --with-unix-socket-path=/usr/local/mysql/etc/mysql.sock --without-debug --without-man --without-docs --with-plugins=partition,blackhole,csv,federated,heap,innobase,myisam,sphinx
# make && make install
# useradd mysql
# chown mysql:mysql /usr/local/mysql -R
# cd /usr/local/mysql
# bin/mysql_install_db --user=mysql

将 mysql 加入到系统服务中
# cp /root/mysql-5.1.54/support-files/mysql.server /etc/init.d/mysqld
# chkconfig --add mysqld
启动 mysqld 服务
# service mysqld start
复制 mysql 配置文件
# cp /root/mysql-5.1.54/support-files/my-medium.cnf /etc/my.cnf

5、然后进入 mysql 客户端命令行,运行 show engines 命令,看是不是有一个叫 sphinx 的 engine,有的话就表示sphinxSE(mysql 的 sphinx 引擎)安装正常了。

二、安装 sphinx
进入 /root/sphinx-0.9.9 目录,运行
# ./configure --prefix=/usr/local/sphinx --with-mysql=/usr/local/mysql
# make && make install

三、测试使用
1、准备测试数据
在 mysql 中执行 /usr/local/sphinx/etc 目录下 example.sql
mysql> source /usr/local/sphinx/etc/example.sql

进入 /usr/local/sphinx/etc 目录,创建配置文件
# cp sphinx-min.conf.dist sphinx.conf

2、创建索引文件
# /usr/local/sphinx/bin/indexer --all

3、使用 sphinx 客户端搜索
启动 sphinx 服务器端
# /usr/local/sphinx/bin/searchd
搜索 test 字串
# /usr/local/sphinx/bin/search test

4、使用 mysql sphinx 存储引擎搜索
首先要创建一张 sphinx 专用表
CREATE TABLE sphinx
(
    id          INTEGER UNSIGNED NOT NULL,
    weight      INTEGER NOT NULL,
    QUERY       VARCHAR(3072) NOT NULL,
    group_id    INTEGER,
    INDEX(QUERY)
) ENGINE=SPHINX CONNECTION="sphinx://localhost:9312/test1"

修改查询索引:ALTER TABLE sphinx CONNECTION="sphinx://NEWHOST:NEWPORT/NEWINDEXNAME";

查看引擎状态:
mysql> SHOW ENGINE SPHINX STATUS;
mysql> SHOW STATUS LIKE 'sphinx_%';

全文检索查询语句
SELECT content, date_added FROM test.documents docs JOIN sphinx ON (docs.id=sphinx.id) WHERE QUERY="test;mode=any";

详细的使用大家可以参考官方的文档。




0
1
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics