·设为首页收藏本站📧邮箱修改🎁免费下载专区💎积分购买✅卡密充值📒收藏夹🎖️众筹悬赏👽聊天室
返回列表 发布新帖

九步完成discuz论坛配置xunsearch讯搜进行全文搜索

604 8
发表于 2021-4-1 10:56:18 | 查看全部 阅读模式

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

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

×
见笑了,我是个php小白,略微能看懂一点点代码,但是修改能力是一点都没有不行。一直觉得discuz自带的搜索功能太鸡肋,而百度又对我的论坛不怎么友好,一年前就知道有讯搜xunsearch,也知道有Sphinx,但尝试了一下,都没能成功,这次咬牙用了xunsearch,终于折腾成功了,现在每天都在正常使用。
一、VPS系统选择
1、尝试阶段,服务器系统的选择有问题,我在阿里云尝试了32位的centos6.8,宣告失败了,因为有些组件版本太老,挨个更新容易出错。我还有个香港腾讯云的32位debian8.2,成功了,后来我把阿里云的更换成了64位的centos7.6,也成功了。(服务器我用wdcp面板v3.3.7,觉得没问题,需要注意的是php安装的时候选择php5.5版本以上吧,一般都会在这个版本以上,建议5.5或者5.6)
优点:新的服务器系统的很多功能都是最新的,不需要浪费精力,何况我还是个小白。
缺点:我的服务器是1G内存,装这个64位的,正常使用的时候内存占用到了64%,但是没有觉得明显的慢,所以也就用着了。讯搜不怎么占内存,但是听说您的数据超过10万级别后,搜索结果比较慢,不过这时候您也可以换个大的服务器了。
二、操作工具
2、得会用putty,用来输入些linux下的命令,putty到官方网站下,英文版的,安全,很简单,输入服务器账号root和密码就能登录开始安装了。
需要注意的:得把语言调成UTF,因为安装讯搜时有些代码是中文,方便大家阅读

三、论坛编码和备份数据
3、经过折腾,为了达到较好的体验,discuz的编码最好是UTF,这样整合讯搜就无缝了,因为讯搜就是utf的,我的论坛开始是GBK,后来整合出现乱码,为此我把我的GBK更换成了UTF,论坛升级到了X3.4版本,后台重新安装插件
记得备份好数据哦!阿里云后台做个镜像备份就妥了。数据库用的帝国备份王备份的,都挺方便。


四、安装讯搜xunsearch

4.1、putty登录,进去后是一个纯文字的框框,黑底白字,这也就是linux的系统了,刚进入的那个文件夹是根目录下的root文件夹,等下我们就把xunsearch下载在根目录的home文件夹下,复制粘贴以下代码:
  1. cd /home
复制代码
上面这句的意思是,进入根目录下的home文件夹
  1. wget http://www.xunsearch.com/download/xunsearch-full-latest.tar.bz2
复制代码
上面这句的意思是,下载最新的xunsearch版本
  1. tar -xjf xunsearch-full-latest.tar.bz2
复制代码
上面这句的意思是,把下载到的xunsearch最新版本进行解压,解压后在home的文件夹里会出现一个文件夹,注意这个文件夹的名称,后面有一串数字,你不太会操作就登录ftp里面看看,也可以在putty里用dir这个单词看看,我解压后的目录名称是xunsearch-full-1.4.13
  1. cd xunsearch-full-1.4.13
复制代码
上面的代码是让你进入xunsearch的安装文件夹
  1. sh setup.sh
复制代码
上面这个sh的意思是执行一个脚本安装文件,这样就开始自动安装了。中间需要选择一下安装位置,默认是usr\local\xunsearch,确认按Y就行了,没必要改,我觉得。

接下来去倒杯茶安心等着,应该很快就会好了。
完事后可以试试这个代码
  1. /usr/local/xunsearch/bin/xs-ctl.sh restart
复制代码
上面是重启这个的代码,没报错就OK了看上面的默认路径,看你要不要修改

五、软连接php
接下来重点来了,这个时候因为我的wdcp面板的php安装位置和你们不一样,我需要把php做个软连接
  1. ln -s /www/wdlinux/apache_php-5.6.30/bin/php    /usr/local/bin/php   
复制代码
上面的代码就是软连接php,你可以到你的ftp中看看,看看你们版本,修改下php的版本号或者是位置。这步比较重要,不弄会报错。


到这个时候,就算是部署完毕 了,接下来要琢磨把discuz整合进去,首先说明下,我就整合了一个表,  帖子内容,用户名,发帖日期,版块名称,基本上也够了,如果你们需要整合其他的表,比如门户、日志什么的,请自行研究。
六、导入论坛帖子,进行索引生成搜索数据
这时候准备一个discuz.ini文件,你可以直接下载我的,解压缩后上传到/usr/local/xunsearch/sdk/php/app/ 文件夹,那里面还有个demo.ini,不用管它,我们要弄的是这个新的discuz.ini
九步完成discuz论坛配置xunsearch讯搜进行全文搜索 完成,discuz,论坛,配置,进行 discuz.rar(255 Bytes, 下载次数: 125)<div class="tip tip_4" id="attach_3659_menu" style="position: absolute; display: none" disautofocus="true"><div class="tip_c xs0">2019-10-16 10:56 上传
点击文件名下载附件
论坛索引配置文件


有了这个ini文件,咱么就在putty里粘贴下面的代码,已经是绝对路径,不用考虑文件夹和数据库的位置了
  1. /usr/local/xunsearch/sdk/php/util/Indexer.php --rebuild --source=mysql://root:dbpassword@localhost/dbname --sql="SELECT * FROM pre_forum_post" --project=discuz
复制代码

上面的这段代码是把论坛的帖子索引到讯搜里,每天早上在putty里执行一次也就差不多了,上面的这串代码,要注意修改几个地方:1、替换你的数据库密码dbpassword,2、替换你的数据库名称dbname 3、你的数据库表(我这里的就是帖子表pre_forum_post,包含回复的,如果你和我一样,就不需要动了),如果数据库账号不是root也更换下,其他的都不要动了

执行后就会出现开始把你的帖子进行索引,开始干活了。注意的是,虽然看起来索引马上就好,但是后台还是需要一定时间的,比如我的的vps是最差的,30000条数据,后台需要时间大概是8分钟。
七、生成可供网友访问的网站
那么索引完成后怎么让网友访问呢,那就需要执行下面的代码:
  1. /usr/local/xunsearch/sdk/php/util/SearchSkel.php discuz /www/web/minbaoku_com/public_html
复制代码
解释一下,这段代码相当于生成了一个网站,访问页面什么的都有了,需要修改的部分是后面的网站位置,我建议把它放在你的论坛的根目录下,这段话会让你的网站根目录下,自动生成一个discuz文件夹,比如我的网站在 /www/web/minbaoku_com/public_html你的网站根目录在哪请自己修改)这个文件夹里在浏览器里输入
  1. http://www.minbaoku.com/discuz/search.php
复制代码
就能访问了,需要注意的是,上面的代码里,discuz这个文件夹,是在你的discuz.ini 文件里面填写的,如果你想要生成别的文件夹,请修改ini文件以及上面的代码。


八、开机启动讯搜xunsearch

到这里就能全文搜索你的论坛帖子和回复了,那么我们日常需要做点什么呢?哪些可以作为计划任务自动运行,或者是开机运行呢?
这里说说两个重要的工具,一个叫crontab,一个叫systemctl,前面那个是计划任务,后面这个是开机运行,建议先了解下这两个东西的功能。

说起来这两个功能我也折腾了一会,后来也无所谓了,定期手动一下,也一点也不麻烦,我一般一个星期重新生成一次索引就够了。重要的是,开机启动一定要做好。我是这么做的
我做了一个文件xunsearch.service,可以直接使用,前提是你安装的目录没修改
xunsearch.rar(225 Bytes, 下载次数: 101)<div class="tip tip_4" id="attach_3661_menu" style="position: absolute; display: none" disautofocus="true"><div class="tip_c xs0">2019-10-16 10:59 上传
点击文件名下载附件
开机启动讯搜xunsearch
解压后把这个xunsearch.service文件放在 /etc/systemd/system/目录下
然后执行
  1. systemctl enable xunsearch
复制代码
上面这条把它列入了开机自启动,附带赠送一下以下命令,基本上用不到了

  1. # 开机启动systemctl enable xunsearch# 关闭开机启动systemctl disable xunsearch# 启动服务systemctl start xunsearch# 停止服务systemctl stop xunsearch# 重启服务systemctl restart xunsearch# 查看服务状态systemctl status xunsearchsystemctl is-active sshd.service# 结束服务进程(服务无法停止时)systemctl kill xunsearch
复制代码
到这里基本就大功告成了,如果想修改搜索界面,想美化美化的,可以修改discuz文件夹里的search.tpl文件,可以改改搜索结果的地址,还可以在论坛里把这个搜索框集成进去。

九、每天定时更新索引,更新搜索结果

每天早上可以定时索引,把前一天的新东西加到搜索结果里
putty里执行
  1. crontab -e
复制代码
然后按 i 进入编辑模式,在最后编写(注意修改密码和数据库名称)
  1. 25 06 * * * /www/wdlinux/phps/56/bin/php /usr/local/xunsearch/sdk/php/util/Indexer.php --rebuild --source=mysql://root:dbpassword@localhost/dbname --sql="SELECT * FROM pre_forum_post" --project=discuz
复制代码
解释一下上面的这句:
25 06 是指早上的6点25分执行
* * * 就别管了,照抄就是
后面的 /www/wdlinux/phps/56/bin/php 表示这是一个需要用php执行的脚本,这个是你的php的位置
后面的长长的就是执行索引的语句,在前面我们已经用过一次,请修改密码和数据库名称
我要说一句 收起回复
一花一世界,一叶一追寻。一曲一场叹,一生为一人。
创宇盾启航版免费网站防御网站加速服务

评论8

独家记忆Lv.8 发表于 2021-4-1 10:56:28 | 查看全部
可以给个演示地址吗?看看使用效果
我要说一句 收起回复
IT618发布Lv.8 发表于 2021-4-1 10:57:18 | 查看全部
终于有人出迅搜教程  感谢
我要说一句 收起回复
TyCodingLv.8 发表于 2021-4-1 10:57:24 | 查看全部
Donny 发表于 2019-10-20 23:28
可以给个演示地址吗?看看使用效果
  1.     http://www.minbaoku.com/discuz/search.php
复制代码
我要说一句 收起回复
IT618发布Lv.8 发表于 2021-4-1 10:58:03 | 查看全部
不客气,我也是新手上路,折腾出来了,比较激动
我要说一句 收起回复
CrystαlLv.8 发表于 2021-4-1 10:58:43 | 查看全部
谢谢分享
我要说一句 收起回复
浅生Lv.8 发表于 2021-4-1 10:59:04 | 查看全部
比较想了解论坛编辑的转换,从GBK转为UTF8
我要说一句 收起回复
TyCodingLv.8 发表于 2021-4-1 11:00:03 | 查看全部
很详细的讲解
我要说一句 收起回复
独家记忆Lv.8 发表于 2021-4-1 11:00:28 | 查看全部
按照你的步骤弄好了,索引也创建完成了, 网站也生成了,搜索时候任何结果都没有,不知道原因出在哪
我要说一句 收起回复

回复

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

本版积分规则

创宇盾启航版免费网站防御网站加速服务
投诉/建议联系

discuzaddons@vip.qq.com

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

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

您的IP:52.14.47.111,GMT+8, 2024-9-19 09:07 , Processed in 2.374672 second(s), 126 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2024 Discuz! Team.

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