关于discuz 不能全文搜索的问题
這個問題客服反饋很多次了,以為discuz 默認(rèn)搜索只能搜標(biāo)題,除非配置了sphinx全文搜索引擎。
但是之前比較老的員工說以前能用的,也就是discuz老版本。
今天突然想到是不是discuz縱橫搜索的關(guān)閉引起了,官網(wǎng)走了一遍后確實這個搜索引擎已經(jīng)不維護了。
?
天氣比較涼爽,狀態(tài)也還可以,所以去看了一下搜索的源碼,發(fā)現(xiàn)有全文搜索的邏輯在,一遍測試后發(fā)現(xiàn),原來是數(shù)據(jù)庫編碼和頁面編碼不統(tǒng)一,所以即使選擇全文搜索,也是找不到記錄了
?
在查看discuz的配置問題,congfig_global.php 發(fā)現(xiàn)有一項$_config['output']['forceheader'] = 1;?默認(rèn)是1 ,改為了0,搜索就有記錄了。
?
研究這個配置的走向,發(fā)現(xiàn)原理是
處理結(jié)果的search_forum.php 頁 是不會渲染模板的,也就是頁頭不會有meta 設(shè)置的編碼類型。所以這個時候$_config['output']['forceheader'] ?= 1 就會強制php 用@header('Content-Type: text/html; charset='.CHARSET); 輸出一個編碼,
把$_config['output']['forceheader'] = 0; 后,php 就不輸出編碼,由瀏覽器判斷,這樣就可以和數(shù)據(jù)庫的編碼匹配,兩邊編碼一致,所以能搜索成功!
?
但是有個疑問,之前只是不能全文搜索,但是標(biāo)題是可以搜索到的。這個我還沒弄明白什么意思。
轉(zhuǎn)載于:https://www.cnblogs.com/mctt/p/discuz_search.html
總結(jié)
以上是生活随笔為你收集整理的关于discuz 不能全文搜索的问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: WinForm 之 程序退出
- 下一篇: 如何彻底关闭windows defend