2013-10-02 56 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