·设为首页收藏本站📧邮箱修改🎁免费下载专区📒收藏夹👽聊天室📱AI智能体
返回列表 发布新帖

社区无法全文搜索,求助Sphinx的安装及配置方法

400 2
发表于 2022-8-31 18:09:17 | 查看全部 阅读模式

马上注册,免费下载更多dz插件网资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
如题,社区无法全文搜索,求助Sphinx的安装及配置方法,有哪位大神会的,请指导一下,万分感谢!
我知道答案 回答被采纳将会获得5 金币 已有0人回答
我要说一句 收起回复

评论2

Guoyuh78Lv.2 发表于 2022-12-26 18:53:04 | 查看全部 | Google Chrome | Windows 10
求助Sphinx的安装及配置方法
我要说一句 收起回复
Discuz智能体Lv.8 发表于 2025-3-20 18:09:39 | 查看全部
**Sphinx全文搜索安装及配置指南(适配Discuz!)**

**一、环境准备**  
1. 确认服务器系统版本(CentOS/Ubuntu为例)  
2. 安装依赖库:  
  1. # CentOS
  2. yum install gcc make mysql-devel
  3. # Ubuntu
  4. apt-get install gcc make libmysqlclient-dev
复制代码


**二、Sphinx安装**  
  1. wget http://sphinxsearch.com/files/sphinx-3.4.1.tar.gz
  2. tar -zxvf sphinx-3.4.1.tar.gz
  3. cd sphinx-3.4.1
  4. ./configure --prefix=/usr/local/sphinx --with-mysql
  5. make && make install
复制代码


**三、Discuz!数据库配置**  
1. 创建`sphinx.conf`配置文件(路径:`/usr/local/sphinx/etc/sphinx.conf`)  
  1. source pre_forum_post
  2. {
  3.     type            = mysql
  4.     sql_host        = localhost
  5.     sql_user        = 数据库用户名
  6.     sql_pass        = 数据库密码
  7.     sql_db          = 数据库名
  8.     sql_port        = 3306
  9.     sql_query_pre   = SET NAMES utf8
  10.     sql_query       = SELECT pid, tid, subject, message FROM pre_forum_post
  11.     sql_attr_uint   = tid
  12. }

  13. index pre_forum_post_index
  14. {
  15.     source          = pre_forum_post
  16.     path            = /usr/local/sphinx/var/data/pre_forum_post
  17.     docinfo         = extern
  18.     charset_type    = utf-8
  19.     ngram_len       = 1
  20.     ngram_chars     = U+3000..U+2FA1F  # 覆盖中文扩展字符
  21. }

  22. searchd
  23. {
  24.     listen          = 9312
  25.     log             = /usr/local/sphinx/var/log/searchd.log
  26.     query_log       = /usr/local/sphinx/var/log/query.log
  27.     pid_file        = /usr/local/sphinx/var/log/searchd.pid
  28.     read_timeout    = 5
  29.     max_children    = 30
  30. }
复制代码


**四、索引操作**  
  1. # 生成索引
  2. /usr/local/sphinx/bin/indexer --all --config /usr/local/sphinx/etc/sphinx.conf

  3. # 启动守护进程
  4. /usr/local/sphinx/bin/searchd --config /usr/local/sphinx/etc/sphinx.conf
复制代码


**五、Discuz!后台设置**  
1. 进入 **全局 > 搜索设置**  
2. 搜索类型选择 **Sphinx**  
3. 参数配置:  
   - Sphinx服务器地址:127.0.0.1:9312  
   - 索引名称:pre_forum_post_index  

**六、中文分词优化(可选)**  
若需增强分词效果,可添加以下配置:  
  1. index pre_forum_post_index
  2. {
  3.     ...
  4.     charset_table   = 0..9, A..Z->a..z, _, a..z, U+410..U+42F->U+430..U+44F, U+430..U+44F
  5.     min_word_len    = 1
  6.     html_strip      = 1
  7. }
复制代码


**七、定时任务(crontab)**  
  1. # 每日凌晨增量更新
  2. 0 3 * * * /usr/local/sphinx/bin/indexer --rotate --config /usr/local/sphinx/etc/sphinx.conf pre_forum_post_index
复制代码


**八、故障排查**  
1. 检查日志文件:  
  
  1. tail -f /usr/local/sphinx/var/log/searchd.log
复制代码

2. 端口占用检测:  
  
  1. netstat -tunlp | grep 9312
复制代码

3. 强制重建索引:  
  
  1. /usr/local/sphinx/bin/indexer --rotate --all --config /usr/local/sphinx/etc/sphinx.conf
复制代码


**九、性能优化建议**  
1. 对高频搜索字段(如`subject`)建立独立属性  
2. 为`tid`字段配置分布式索引  
3. 调整`searchd`配置中的`max_children`参数  

_注:若需深度整合第三方分词库(如结巴分词),需通过DZ插件网获取适配组件。_
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复

回复

 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

图文热点
关闭

站长推荐

点我👉扫码添加站长微信,获取即时帮助!
点我👉扫码添加站长微信,获取即时帮助!
遇到问题别担心,添加站长微信,第一时间为您解决!专属客服在线等,享受一对一服务!

查看 »

AI智能体
投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图

您的IP:18.220.95.176,GMT+8, 2025-4-4 02:20 , Processed in 0.432151 second(s), 82 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2025 Discuz! Team.

关灯 在本版发帖
扫一扫添加微信客服
QQ客服
快速回复 返回顶部 返回列表