2015年5月12日 星期二

解決 Discourse 中文搜尋問題

0 意見

Discourse 是好用的Rails論壇,但可惜的是他的中文搜尋至目前為止有點問題。完成以下設定就可以修復中文搜尋功能。

1. 在管理員設定>其他中把 min search term length 設為1,這樣一個字就能搜尋。

2. 把資料庫編碼修正為UTF-8。

2-1. 到架設discourse的資料夾執行:

./launcher enter app
2-2. 進入機器後,要進入資料庫:
sudo -u postgres psql discourse
2-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


做完以後中文搜尋就好囉!

註:本文在唐鳳指導下完成,感謝唐鳳!
深入閱讀......