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を追加する前に作成されたアイテムを調べますか?誰かが私が間違っていることについて何か手がかりを持っていますか?私が逃したかもしれないもの。

ありがとう

編集:申し訳ありませんが、rails3.2.8とruby1.9.2を使用していることにも言及する必要があります。gemfileにpg_searchを追加し、rake db:migrateを実行しました。

4

1 に答える 1

7

ああ、明らかなことですが、pg-searchのレコードにアクセスするためにレコードを再構築しました。これが将来誰かに役立つことを願っています。

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