Django Wagtail/Haystack 用 Heroku 搜索

Django Wagtail/Haystack Search with Heroku

我将我的项目上传到 heroku,我有一个用于本地开发的搜索引擎,我也想让它在生产环境中工作。我使用了 Wagtails Search,因为它非常容易安装和配置,但它似乎不是适合生产的解决方案。这是我的配置:

WAGTAILSEARCH_BACKENDS = {
'default': {
    'BACKEND': 'wagtail.wagtailsearch.backends.elasticsearch5',
    'URLS': [u'http://localhost:9200'],
    'INDEX': 'wagtail',
    'TIMEOUT': 5,
    'OPTIONS': {},
    'INDEX_SETTINGS': {},
    "ATOMIC_REBUILD":True
  }
}

Heroku 无法连接到端口 9200,当我说要阅读配置时,它似乎更容易使用 Haystack/Solr。 Heroku Article 建议使用附加组件 "SearchBox Elasticsearch" 但我目前无法添加任何附加组件。所以我的问题是:

  1. 我可以在没有 Heroku 插件的情况下 运行 正常 Haystack/Wagtail 搜索吗?
  2. 如何使 Heroku 可以访问 9200 端口?
  3. 升级到 Haystack 有意义吗? Wagtail 在生产中是否具有可扩展性?有人有生产经验吗?

我对 Wagtail 非常满意,因为一切正常,我不想改变一些可以完成工作的东西。希望有人能赐教。

如果您使用 PostgreSQL 作为数据库,一个不错的选择是使用 Wagtail 的 PostgreSQL full-text search backend。它在功能上与 Elasticsearch 相当接近,可用于大型站点的生产环境,并且不需要 运行 外部服务。