在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
