关于discuz 不能全文搜索的问题

这个问题客服反馈很多次了,以为discuz 默认搜索只能搜标题,除非配置了sphinx全文搜索引擎。

但是之前比较老的员工说以前能用的,也就是discuz老版本。

今天突然想到是不是discuz纵横搜索的关闭引起了,官网走了一遍后确实这个搜索引擎已经不维护了。

 

天气比较凉爽,状态也还可以,所以去看了一下搜索的源码,发现有全文搜索的逻辑在,一遍测试后发现,原来是数据库编码和页面编码不统一,所以即使选择全文搜索,也是找不到记录了

 

在查看discuz的配置问题,congfig_global.php 发现有一项$_config['output']['forceheader'] = 1; 默认是1 ,改为了0,搜索就有记录了。

 

研究这个配置的走向,发现原理是

处理结果的search_forum.php 页 是不会渲染模板的,也就是页头不会有meta 设置的编码类型。所以这个时候$_config['output']['forceheader']  = 1 就会强制php 用@header('Content-Type: text/html; charset='.CHARSET); 输出一个编码,

把$_config['output']['forceheader'] = 0; 后,php 就不输出编码,由浏览器判断,这样就可以和数据库的编码匹配,两边编码一致,所以能搜索成功!

 

但是有个疑问,之前只是不能全文搜索,但是标题是可以搜索到的。这个我还没弄明白什么意思。

转载于:https://www.cnblogs.com/mctt/p/discuz_search.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值