- PostgreSQL Fulltext
- Sphinx Fulltext
- MySQL Fulltext
- phpBB Native Fulltext
首先要在你的服务器上安装 sphinx 搜索服务。目前这个版本是 Sphinx 2.2.11,可以在 phpBB 3.3.3上正常运行。
简单介绍一下我这里的设置以及环境。
Ubuntu 20.04 LTS
phpBB 3.3.3
在论坛安装正常可以运行的情况下,如下设置。
sudo apt install sphinxsearch
准备数据目录。
mkdir /home/sphinx-phpbbchinese
mkdir /home/sphinx-phpbbchinese/log
sudo chown sphinxsearch:sphinxsearch -R /home/sphinx-phpbbchinese/
设置文件在 /etc/sphinxsearch/ 目录之下。
sudo service sphinxsearch status
查看运行情况。
在phpBB 3.3.x 的后台
搜索设置 》 搜索后端 选择 Sphinx Fulltext
选择后,页面中出现 Sphinx Fulltext 的配置相关的参数。
包括数据文件夹路径,我这里手工修改为 /home/sphinx-phpbbchinese/
主机和端口使用默认的就可以。
内存限制根据你的服务器内存的大小来选择。我这里选择64M
这些修改好之后,点击提交保存。
回到这个配置页面,全选复制 sphinx 配置文件内容。
之后,到 维护 》 搜索索引 ,删除不再使用的搜索引擎的索引,再在 Sphinx Fulltext 创建索引
使用 SSH 登录你的服务器的终端界面。
编辑 /etc/sphinxsearch/sphinx.conf 文件
把上一步所复制的内容,黏贴进去。
记得里面的数据库用户和密码用 mysql 的对应用户替换。
保存退出。
先手工建立完整索引一次。
代码: 全选
sudo indexer --all
代码: 全选
sudo service sphinxsearch restart
为了让新帖也能被索引进去,在crontab添加下面的命令,可定位每小时运行一次。
下面的这段 ID: beb1050b51dfdab6,在上面的配置文件中可以找到。
代码: 全选
/usr/bin/indexer --rotate --config /etc/sphinxsearch/sphinx.conf index_phpbb_beb1050b51dfdab6_main >> /home/sphinx-phpbbchinese/log/indexer.log 2>&1 &
/usr/bin/indexer --rotate --config /etc/sphinxsearch/sphinx.conf index_phpbb_beb1050b51dfdab6_delta >> /home/sphinx-phpbbchinese/log/indexer.log 2>&1 &