1

アプリを heroku にプッシュしましたが、検索機能に問題があります。私は、Heroku の Bonsai アドオンと同様に、Tire で ElasticSearch を使用しています。Bonsai のドキュメントに従って bonsai.rb 初期化子を作成しました: https://devcenter.heroku.com/articles/bonsai#installing-the-add-on

これまでのところ、次のようになります。

ENV['ELASTICSEARCH_URL'] = ENV['BONSAI_URL']

検索を実行しようとすると、Heroku ログから得られるエラーは次のとおりです。

Tire::Search::SearchRequestFailed (404 : {"error":"Index not found, and lazy index creation is disabled.

タイヤは自動的にインデックスを作成すると思っていました。正直なところ、これらのインデックスが何であるかについては少しわかりません。開発データベースのインデックスと同じですか? これらの機能を備えたアプリをデプロイするための優れたガイドまたはチュートリアルを知っている人はいますか? 前もって感謝します!

4

1 に答える 1

1

おお、すごいですね。実際に、質問に最初に答えたのは私です。根本的な問題は、 Tireはインデックスを自動的に作成しますが、運用環境では作成しないことにあると思います。Bonsai の Heroku ページの指示に従うと、プロダクション インデックスは開発インデックスとは異なる名前になります。したがって、Tire によってまだ設定されていないため、プロダクション インデックスにはドキュメントが含まれません。

私にとってうまくいった解決策は、Bonsai ElasticSearch Heroku アドオンで動作するように Config Tireで説明されています。

heroku run rake environment tire:import CLASS=School FORCE=true

変数の値は、CLASSもちろん、モデルの名前になりますSchool

2 番目の質問「これらのインデックスとは何か」に答えるために、それらは検索インデックスであり、データベース インデックスと同様に機能しますが、

  • Bonsai のサーバーに保存されます
  • 「構造化されていないコンテンツ」をキーワードベースで高速に取得できるように設計されています

これは、「検索インデックス」とは何かについての非常に高いレベルの要約です。非構造化全文検索の素晴らしい世界について学ぶために、検索インデックス作成に関するこのウィキペディアの記事をここから始めてください!

于 2013-10-04T20:25:57.643 に答える