2013-10-02 64 views
1

我已將我的應用程序推送到heroku,並且我的搜索功能遇到功能問題。我使用Tire的ElasticSearch,以及Heroku的Bonsai插件。我創建的每一個文件初始化bonsai.rb盆景:https://devcenter.heroku.com/articles/bonsai#installing-the-add-on通過elasticsearch,盆景部署rails應用程序到heroku

它看起來像這樣至今:

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

下面是我從Heroku的日誌中發現了錯誤,當我嘗試運行搜索:

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

我以爲Tire會自動創建索引。說實話,我對這些指標的含義有點不清楚。它們與我的開發數據庫中的索引是否相同?有沒有人知道有一個很好的指導或教程來部署這些功能的應用程序?提前致謝!

回答

1

哦,多酷 - 我真的成爲第一個回答問題的人。所以我認爲的根本問題是,儘管Tire自動創建索引,但它在生產環境中不這樣做。如果您按照盆景上的Heroku頁面上的說明進行操作,您的生產指數將被命名爲與開發指數不同。所以你的生產指數不會包含文件,因爲它尚未由Tire設置。

的解決方案,它爲我工作,對Config Tire to work with Bonsai ElasticSearch Heroku add-on描述:

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

CLASS變量的值將是你的模型的名字,當然,不是School

要回答你的第二個問題 - 「什麼,這些指標是」 - 他們是搜索索引,其功能類似於數據庫索引,但

  • 存儲在盆景的服務器
  • 的架構允許快速的「非結構化內容」

這是什麼「的搜索索引」一非常高度概括是基於關鍵字的檢索 - 開始here on this Wikipedia article on search indexing學習所有關於禾非結構化的全文搜索nderful世界!

+0

感謝您的回答!對不起,沒有回覆,過去幾周我沒有開發過。我將在本週嘗試您的解決方案,我會盡快與您取得結果。 – settheline

+0

對不起,遲到接受。這工作! – settheline