在我的应用程序中,我有许多模型,我想添加multisearch,我觉得我已经完成了所有必需的操作但在控制台中运行以下操作时我得到了一个空的[]。
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之前创建的项目?有没有人知道我做错了什么?我可能错过了什么。
谢谢
编辑:对不起我还应该提到我正在使用rails 3.2.8和ruby 1.9.2,我已经将pg_search添加到我的gemfile并运行rake db:migrate
答案 0 :(得分:4)
啊,显而易见的是,我已经重建了我的pg-search记录来访问它们。希望这可以帮助将来的某个人。
rake pg_search:multisearch:rebuild[BlogPost]