問題タブ [pg-search]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
406 参照

ruby-on-rails - Stringのmonkeypath内からセッション変数を設定するにはどうすればよいですか?

次のエラーが発生します...

...Stringクラスのモンキーパッチ内からセッション変数を設定しようとしたとき。(準備ができたときにのみ検索結果をロードするために、遅延ジョブのジョブの進行状況を追跡できるようにするために必要です。)

そこでセッション変数を設定するにはどうすればよいですか?または、より良い解決策はありますか?

私のコード...

/config/initializers/string.rb

/app/views/searches/show.html.haml

** / app / views / layouts / application.html.haml:

/app/controllers/searches_controller.rb

0 投票する
1 に答える
297 参照

ruby-on-rails - シリアル化された属性を持つオブジェクトを保存できないのはなぜですか?

私は持っている...

/app/models/search.rb :

/db/schema.rb :

「self.save?」を実行しようとすると、次のエラーが表示されます。

テストすると同様のエラーが発生しますresult.serialize

どうすればこれを修正できますか?

0 投票する
1 に答える
453 参照

ruby-on-rails - pg_search gem を使用して Postgres から抜粋を取得できません

アップデート

まず、メソッド「context」がありません。それは、ある時点で私の脳が作り上げて固執した言葉でした。明らかに、.excerpt() を実行していたはずです。次に、PG_Search::Document の個々のインスタンスではなく、返された配列に対してコマンドを実行していました。

二重の間違いですが、はい、コードは実際に機能します。

更新終了

最初のシステム情報:

  • ルビー 1.9.3p194
  • レール 3.2.13
  • pg_search 0.5.7
  • Postgres 9.2.3 (アンアクセントが有効)

このスレッドで行われた進捗状況を追跡しようとしています: ( pg-search multisearch の結果からの抜粋を表示する方法)

さて、その投稿から引用した次のクエリを使用すると仮定します。

戻り値:

contextいくつかの検索結果が正常に返されますが、メソッドがまったくありません。メソッドmultisearchなしで呼び出しただけのようです。select

私は SQL と Postgres に関しては初心者なので、そのスニペットのデバッグをどこから始めればよいか正確にはわかりません。デバッグや、何が起こっているのかについての説明を手伝ってくれるとうれしいです。

また、私が重要だと思うことはさておき、pg_search に取り組んでいる人や、このような質問に回答してくれた人に感謝したいと思います。あなたは世界をより良い場所にします。

0 投票する
1 に答える
509 参照

ruby-on-rails - Heroku で検索データベース全体を削除して再構築できないのはなぜですか?

localhost と私の Heroku ステージング アプリでは、pg_search は問題なく動作しています。

私の Heroku 製品アプリでは、pg_search は参照モデル (まだ含めたい) に加えて、脚注モデル (これは含めたくありません) の検索結果をまだ表示しています。

私は持っている...

から削除include PgSearchしました/app/models/footnote.rb

私のプロセスは、一部のワーカーをアプリに手動で割り当てることから始まります。(私は通常、ワークレスを使用して自動的に行います。)

それから私は:

#<PG::Result:0x00000006c849b0>それぞれ 3000 ~ 15,000 語の 53 個のドキュメントのインデックスを作成するように pg_search に指示したにもかかわらず、最後のステップはその結果 を即座に返します。

再構築プロセスが進行中であると想定できますか? ワーカープロセスを縮小できるように、完了したことを確認する方法はありますか? (とにかくこれにワーカープロセスを割り当てる必要がありますか?)

ところで、次のアプローチも数秒しかかからず、正しくないようです。

これらすべての試行の後、検索結果に Footnote モデルのインスタンスが表示されます。どうすればそれらを取り除くことができますか?

0 投票する
1 に答える
178 参照

ruby-on-rails - 「標準」クエリに対する Rails 全文検索の適切性

Ransackなどのgemを使用すると、モデルを簡単に検索できますが、説明やコメントなどの全文フィールドでは明らかにうまく機能しません。可能であれば解決策) を任意のテキスト フィールド (名前、説明、コメントなど) に対して検索し、常に全文検索を行うことで、任意のテキスト フィールドを検索してより良い結果を得ることができます。このような方法で全文検索を使用することに問題はありますか?

0 投票する
1 に答える
2520 参照

ruby-on-rails - Rails : pg_search Gem によって提供される PgSearch モジュールを含めることはできません

総括する :

Gem pg_search によって提供されるモジュール PgSearch は、ステージング環境 (Rbenv、nginx、unicorn、capistrano) に含めることも、要求することも、ロードすることもできません。問題は http を介して Web サーバーで発生しますが、ステージング サーバーの rails コマンドには表示されません。他の gem によって提供される他のモジュールは、エラーなしで含めることができます。

ローカル開発環境(rvm、puma)では問題ありません。

詳細

私は現在、git リポジトリが bitbucket でホストされている ruby​​ 2.0.0 を使用して、Ruby On Rails 4.0 アプリケーションを開発しています。capistrano を使用して、ステージング サーバー経由でアプリをデプロイします。

  • ステージングサーバー環境:rbenv、nginx、unicorn
  • ローカル開発環境: rvm と puma

両方のレール環境ファイル (environment/production.rb & environment/staging.rb) は同じです。

私がしたこと:

pg_search gem (PostgreSQL 全文検索 gem) を Gemfile に追加してインストールし、pg_search gem で使用したいアクティブ レコード モデルに「include PgSearch」句を追加しました。

アプリを開発モードで実行しました...動作します!

問題 :

変更をステージング サーバーに展開した後: http サーバーを介して、次のエラーが発生します。

App::MyController#index の NameError 初期化されていない定数 MyActiveRecordModel::PgSearch

(通常、GemFile に含まれるこの pg_search gem には、オートロード検索パスに含まれる lib/*.rb ファイルと、load "pg_search.rb"、require"pg_search"、または"include PgSearch" (モジュールが含まれる)などの句が必要です。 pg_search.rb ファイル内) を渡す必要があります。

バグを修正する手がかりを見つけるために、私は持っています:

-宝石が提供する他のモジュールを含めることができるかどうかを試しました...動作します

ステージング サーバーの現在のリリース パスに移動した後、「bundle exec rails c staging」を実行し、次のことを試みました。

  • ActiveRecord モデル (PgSearch を含めました) のインスタンス化が機能するかどうかを確認してください。

  • 宝石によって提供されたモジュールがサーバー上で見つかり/ロードされ、実行されたかどうかを確認します-PgSearchを含め、「pg_search」を要求し、「pg_search.rb」をロードします。

これらのコマンドはすべて成功しました。

他の手がかりを見つけるためのアイデアが不足しています。何か提案はありますか?

ありがとうございました。