【问题标题】:Deploying rails app to heroku with elasticsearch, bonsai使用elasticsearch,盆景将rails应用程序部署到heroku
【发布时间】:2013-10-02 23:09:34
【问题描述】:

我已将我的应用推送到 heroku,但我的搜索功能存在功能问题。我将 ElasticSearch 与 Tire 以及 Heroku 的 Bonsai 插件一起使用。我根据 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.

我原以为轮胎会自动创建索引。老实说,我有点不清楚这些索引是什么。它们与我的开发数据库中的索引相同吗?是否有人知道部署具有这些功能的应用程序的良好指南或教程?提前致谢!

【问题讨论】:

    标签: ruby-on-rails heroku elasticsearch tire


    【解决方案1】:

    哦,太酷了——我实际上是第一个回答问题的人。所以我认为潜在的问题是,虽然 Tyre 确实会自动创建索引,但它在生产环境中不会这样做。如果您按照 Bonsai 上 Heroku 页面上的说明进行操作,您的生产索引的名称将不同于您的开发索引。所以你的生产索引不会包含文档,因为它还没有被轮胎设置。

    Config Tire to work with Bonsai ElasticSearch Heroku add-on 上描述了对我有用的解决方案:

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

    CLASS 变量的值将是您的模型的名称,当然不是School

    回答你的第二个问题 - “这些索引是什么” - 它们是搜索索引,其功能类似于数据库索引,但是

    • 存储在 Bonsai 的服务器上
    • 的架构允许基于关键字快速检索“非结构化内容”

    这是对什么是“搜索索引”的非常高级摘要 - 开始 here on this Wikipedia article on search indexing 以了解非结构化全文搜索的精彩世界!

    【讨论】:

    • 感谢您的回答!很抱歉没有回复,过去几周我没有开发。本周我将在这里尝试您的解决方案,我会尽快回复您。
    猜你喜欢
    • 2015-12-25
    • 2018-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-07
    • 2018-08-05
    • 1970-01-01
    相关资源
    最近更新 更多