Discourse 是好用的Rails論壇,但可惜的是他的中文搜尋至目前為止有點問題。完成以下設定就可以修復中文搜尋功能。
1. 在管理員設定>其他中把 min search term length 設為1,這樣一個字就能搜尋。
2. 把資料庫編碼修正為UTF-8。
2-1. 到架設discourse的資料夾執行:
./launcher enter app2-2. 進入機器後,要進入資料庫:
sudo -u postgres psql discourse2-3. 接著更新資料庫編碼
update pg_database set encoding = pg_char_to_encoding('UTF8') where datname = 'discourse';2-4. 離開資料庫:
輸入 \q 就可以離開postgreSQL了。
2-5. 更新舊的index
由於舊的資料庫內容並未以UTF-8的方式更新,需要重設index。在docker機器內,discourse的資料夾(應是 /var/www/discourse)內執行
rake search:reindex
做完以後中文搜尋就好囉!
註:本文在唐鳳指導下完成,感謝唐鳳!
深入閱讀......