请教怎么配置discuz的全文搜索
说明
1、本人只在31版本下修改成功,其它版本并没有测试,但原理相同。
2、当数据量大时,全文搜索将非常耗费服务器资源,请慎用。
起因
系统默认只按标题搜索,由于标题字数有限,并且有的会员在发贴时并不会在提炼关键词,内容多时搜索的作用就尤为重要,但往往搜索标题并不能搜到自己想要的内容,或遗漏了重要的内容,如果能搜索内容那搜索的重性就不言而喻,并且也能解决用户的烦恼,减少跳出率,好在论坛默认是支持搜索内容的,也就是全文搜索,只是出于性能的考虑默认并没有开启,下面一步一步来将其开启。
具体步骤
方法一
首先在后台用户用户组在相应要开启的用组的基本设置允许全文搜索中设置为是即可。
优点:可以自行设置要开启的用户组,方便灵活。
缺点:当然缺点也很明显,这项设置只在高级搜索中管用,并且只是在关键词输入框旁边多了一个复选框,提示要不要使用全文搜索,而且还是默认未勾选状态,这明显让菜鸟尤为抓狂,也会增加使用成本。
方法二
修改模板文件
先修改:/template/default/common/pubsearchformhtm文件;
将
<input type="hidden" name="srchtype" value="title" />
改成
<input type="hidden" name="srchtype" value="fulltext" />
这样在论坛头部的搜索就默认支持全文搜索了,但这并不彻底,因为点开的搜索结果页面如果换一个关键词再次进行搜索就又不默认支持全文搜索了,所以还要继续改模板文件:/template/default/search/pubsearchhtm;
找
<input type="text" id="scform_srchtxt" name="srchtxt" size="45" maxlength="40" value="$keyword" tabindex="1" x-webkit-speech speech />
在后面加上
<input type="hidden" name="srchtype" value="fulltext" />
然后再找
<input type="text" id="scform_srchtxt" name="srchtxt" size="65" maxlength="40" value="$keyword" tabindex="1" />
在后面加上
<input type="hidden" name="srchtype" value="<!--{if !empty($srchtype)}-->$srchtype<!--{else}-->fulltext<!--{/if}-->" />
这样就保证不管在那里搜索都默认开启全文搜索功能。
优点:用户体验好。
缺点:后台就算关闭了某用户组的允许全文搜索功能也对此方法无效,此文件一旦被修改,就是对所有用户都开启了允许全文搜索功能。
原因一:数据库表太大
1
比如mysql数据库的表内容太大,超过10G就有可能会影响discuz论坛的运行。
2
这种情况可以通过对数据库分表的方法来解决。详情可以到discuz官网搜索查找相关资料,或查阅
END
原因二:数据库配置错误
1
有时候可能是主机搬家、数据库搬家等,造成数据库信息填写错误,或旧数据库信息没有及时更新等,比如数据库用户名、密码、数据库表填写错误等。
2
可
以修正一下相关数据库信息即可,可以找到config目录,修改config目录中的数据库信息配置文件。Discus!3的参考配置文件有三个,仔细检
查一下里边的数据库配置和其他配置是不是最新的。安装目录/config/config_globalphp安装目录/config
/config_ucenterphp安装目录/uc_server/data/configincphp。具体可查阅discuz官方文档。
END
原因三:数据库没有运行
1
检查一下主机的mysql数据库程序是否正在运行或已经关闭,如果是虚拟主机,可联系空间商开启。如果虚拟主机不支持mysql数据库,可以通过更换主机或空间商来解决这个问题。
END
原因四:数据库错误
1
可使用discuz官方小工具Discuz! Tools来对数据库进行修复。到discuz官方下载tools工具,解压上传到网站相关目录,然后打开链接、输入密码,修复数据库->一键修复就行了。修复完成记得删除Discuz! Tools相关文件。
END
原因五:数据库繁忙
1
可以登录discuz后台, 开启贴子缓存、首页缓存,可以缓解数据库繁忙的问题。
2
具体可参阅discuz官方性能优化的文档。
END
原因六、主机内存不够、不稳定
1
也有可能是主机不太稳定,这个时候可以提升主机,换好一点的主机,或更换空间商。
END
原因七:可能是相关软件版本太旧
1
比如discuz版本、mysql数据库的版本是不是最新的、php的版本,服务器是否开启相关权限、php权限,是否支持discuz系统等?
2
可以手动升级discuz版本,或联系空间商开启相关权限、升级服务器软件。
你要修改的其实就是论坛的底部信息。打开 template\你的模板
找到footerhtm不同用的模板,文件夹里的目录结构是不同的,我无法找到你模板里footerhtm的具体位置,挨个文件夹都找找看吧
打开footerhtm,找到类似图中的这段代码,
这时你就可以修改了
0条评论