about 3 years ago

先貼解法:

  1. 在 Gemfile 裡加上 ransack
  2. lib/search.rb 的內容換成 https://github.com/xdite/discourse/blob/ransack/lib/search.rb

解釋

這是在上週我為 g0v 架設論壇 時,遇到的問題。discourse 上的搜尋基本上碰到中文和日文漢字不會動。(這裡有 討論串)

https://github.com/xdite/discourse/blob/ransack/lib/search.rb

( 具體 commit 請看 https://github.com/xdite/discourse/commits/ransack 可見所有我的詳細解法)

簡單來講是 CJK 以及非 latin 文雖然在 postgre SQL 上搜尋不好,但還沒到 unsearchable 這麼差。discourse 會搜不到中文,是因為他不用 gem ,自幹 full-text search,結果把切字系統整個搞爛了。我把他拆開,然後適度的導入 ransack 就修好了。

雖然是這樣也花了我 3hr,然後這三個小時我的 FB 牆上寫了滿滿的髒話....

我每次修 Discourse 程式碼或改他們的架構都會覺得他們腦袋是裝屎。

(很抱歉,貢獻程式碼的人都很偉大,照理說我不應批評貢獻者,甚至不應批評人家腦袋裝屎,但實在是大多數的 Rails Developer 去改他們程式碼,半個小時候就會想罵這句話....)

什麼都自幹,login 也自幹,權限系統也自幹,deploy 架構也自幹,search backend 也自幹。自幹就算了,全部都是用錯的想法在想解法,連帶解法也是大便。然後就蓋起一座大便之塔 -_-

← 使用 Capistrano 部署 Discourse Scuttle.io :SQL statement To ActiveRecord Syntax →
 
comments powered by Disqus