在Centos上安装Sphinx全文检索引擎是一个相对复杂的过程,但通过以下步骤可以实现,本文将详细介绍如何在CentOS上安装和配置Sphinx,并提供相关的FAQs以帮助解决常见问题。
安装Sphinx
1. 准备工作

在开始之前,确保你的系统已经安装了必要的软件包和环境:
CentOS 7服务器
Python 3.5+
pip
nginx
MySQL 8

你可以通过以下命令安装这些软件包:
- 安装 Python3 和 pip
- sudo yum install y python3
- curl https://bootstrap.pypa.io/getpip.py o getpip.py
- python3 getpip.py
- 更换 pip 源
- pip install psm trustedhost mirrors.aliyun.com
- psm use qinghua
- 安装 Sphinx
- sudo yum install y pythonsphinx
- pip install sphinx sphinxautobuild sphinx_rtd_theme
2. 下载并安装Sphinx
你可以使用以下命令下载并安装Sphinx:
- cd /tmp
- wget http://sphinxsearch.com/files/sphinx2.2.111.rhel7.x86_64.rpm
- sudo yum install y sphinx2.2.111.rhel7.x86_64.rpm
3. 启动Sphinx服务
安装完成后,启动Sphinx守护程序:
- sudo service searchd start
配置Sphinx
1. 创建测试数据库

登录MySQL服务器并创建一个测试数据库:
- CREATE DATABASE test;
导入示例SQL文件:
- USE test;
- SOURCE /usr/share/doc/sphinx2.2.11/example.sql;
2. 配置Sphinx
编辑/etc/sphinx/sphinx.conf
文件,根据需要调整以下内容:
- [source src1]
- type = mysql
- sql_host = localhost
- sql_user = root
- sql_pass = password
- sql_db = test
- sql_port = 3306
- sql_query = \
- SELECT id, group_id, UNIX_TIMESTAMP(date_added) AS date_added, title, content \
- FROM documents
- sql_attr_uint = group_id
- sql_attr_timestamp = date_added
- [index test1]
- source = src1
- path = /var/lib/sphinx/test1
- docinfo = extern
- [searchd]
- listen = 9312:sphinx # SphinxAPI port
- listen = 9306:mysql41 # SphinxQL port
- log = /var/log/sphinx/searchd.log
- query_log = /var/log/sphinx/query.log
- pid_file = /var/run/sphinx/searchd.pid
- seamless_rotate = 1
- preopen_indexes = 1
- unlink_old = 1
保存并关闭文件后,重启Sphinx服务:
- sudo service searchd restart
FAQs
问题1:如何检查Sphinx是否安装成功?
答:可以通过运行以下命令来检查Sphinx服务的状态:
- sudo service searchd status
如果显示“active (running)”,则表示Sphinx已成功安装并正在运行。
问题2:如何更新Sphinx配置文件?
答:编辑/etc/sphinx/sphinx.conf
文件,保存更改后重启Sphinx服务:
- sudo service searchd restart