2012-10-19 68 views
2

在我的应用我有很多的车型,我想补充multisearch来,我觉得我已经做了所需的一切,但在控制台当我运行下面我回来的空[ ]。Pg_Search没有返回结果

PgSearch.multisearch("Red") 

所以这里是我做了什么

rails g pg_search:migration:multisearch 
rake db:migrate 

创建初始化包括

PgSearch.multisearch_options = { 
:using => [:tsearch, :trigram], 
:ignoring => :accents 
} 

我还创建了那些扩展

在每个模型的我想查询我增加了以下

include PgSearch 
multisearchable :against => [:name] 

然后,我创建了一个结果控制器,这里是什么在那里

class ResultsController < ApplicationController 

def index 
    @pg_search_documents = PgSearch.multisearch(params[:query]) 
end 
end 

从控制台运行搜索时我没有得到任何错误,只是没有结果,即使我知道有适合我”项目正在寻找。

是否pg_search经过创建以前,以增加pg_search项目?有没有人有任何线索,我做错了什么?我可能错过了。

感谢

编辑:对不起,我还要提到我使用的铁轨3.2.8和1.9.2的红宝石,我已经添加pg_search我的Gemfile和运行耙分贝:迁移

回答

4

啊,很明显,我已经重建了我的记录以便通过pg-search访问它们。希望这有助于未来的人。

rake pg_search:multisearch:rebuild[BlogPost] 
+2

我是pg_search的作者和维护者。感谢您发布此信息,因为它提醒我应该将其添加到文档中。 – nertzy

+0

重建似乎并不奏效 - 抛出一个错误。 – grimmwerks

+0

你们是我的英雄! – thedanotto