2

在我的应用程序中,我有许多要添加多搜索的模型,我觉得我已经完成了所需的一切,但是在控制台中,当我运行以下命令时,我得到一个空的 []。

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

4

1 回答 1

7

啊,很明显,我已经为 pg-search 重建了我的记录来访问它们。希望这对将来的某人有所帮助。

rake pg_search:multisearch:rebuild[BlogPost]
于 2012-10-19T11:56:09.040 回答