2011-02-28 28 views
4

我想添加一個簡單的mysql全文搜索到一個小表< 2000條目。在rails中全文mysql的搜索

請不要告訴我安裝solr或任何其他搜索gems。我試圖運行它們,似乎是一個接一個的問題。有一天我會接受它,但那一天不是今天。

我需要添加一個add_index遷移,但是當我運行

 
add_index :users, :name, :fulltext 

我得到一個錯誤。 - 未找到方法'鑰匙'。

我似乎無法找到任何地方解釋如何在rails中進行全文mysql搜索的任何文檔。

什麼是正確的說法,我應該用於add_index,一旦完成,我有什麼特別的我的模型使用全文搜索?

回答

1

你可以做以下的遷移

execute "CREATE FULLTEXT INDEX fulltext_name ON users (name)" 

然後,我會建議以下this blog post有關創建rake任務和schema.rb文件與該索引類型兼容。

UPDATE:分辯鏈接到博客文章

11

也許一個遲到的回答,但別人可能搜索這個像我只是做了。

這對我有效。

add_index :users, :name, name: 'name', type: :fulltext 

或者用於乘列

add_index :users, [:name, :description], name: 'name_description', type: :fulltext