【发布时间】:2017-07-05 15:01:57
【问题描述】:
我将我的项目上传到 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”,但我目前无法添加任何附加组件。所以我的问题是:
- 我可以在没有 Heroku 插件的情况下运行普通的 Haystack/Wagtail 搜索吗?
- 如何使 Heroku 可以访问 9200 端口?
- 升级到 Haystack 是否有意义? Wagtail 在生产中是否可扩展?有人有制作经验吗?
我对 Wagtail 非常满意,因为一切正常,我不想改变可以完成工作的东西。希望有人能启发我。
【问题讨论】:
-
您的术语在这里有点混乱。 “Wagtail search”描述了几种不同的配置以及三种可能的后端之一docs.wagtail.io/en/v1.11/topics/search/backends.html - 在这些后端中,Elasticsearch 和 PostgreSQL 适合大型站点,但数据库后端不适合。 Wagtail 搜索目前没有 Haystack 或 Solr 的后端,因此不清楚您所说的“普通 Haystack/Wagtail 搜索”是什么意思。
-
您使用的是 PostgreSQL,还是 Heroku 上的一个选项?如果是这样,我建议使用 PostgreSQL 后端 docs.wagtail.io/en/v1.11/reference/contrib/… - 它应该在功能上接近您使用 Elasticsearch 获得的功能,但不需要运行外部服务。 (我不太了解 Heroku,所以我想我最好在添加它作为答案之前检查一下......)
-
是的,我正在使用 Postgres,这就像一个魅力。非常感谢您分享链接。我不敢相信我自己发现了。就像我点击谷歌吐出的每个链接一样,显然我搜索了错误的东西。总之非常感谢。如果您愿意,可以将该评论作为答案发布,以便我选择它。
标签: django elasticsearch heroku wagtail