当用户上传帖子时,我使用haystack搜索引擎来允许用户搜索该帖子。每个东西都在开发中工作,我担心的是在开发时我必须使用python manage.py rebuild_index才能开始,而python manage.py update_index用于更新任何添加的帖子在搜索引擎中。如何在生产中自动完成这项工作?
我正在使用亚马逊弹性豆茎,所以我想我会这样做
01_forhaystack:
command: "source /opt/python/run/venv/bin/activate && python project/manage.py rebuild_index --noinput"
02_forhaystack2:
command: "source /opt/python/run/venv/bin/activate && python project/manage.py update_index --noinput"
它会起作用吗??有更好的方法吗?
答案 0 :(得分:1)
当然,您可以每天/每小时更新_index。甚至在每个模型插入/更新后。但更好的方法是使用信号和Real Time Search。
答案 1 :(得分:0)
只需在 settings.py 中添加下一行。
HAYSTACK_SIGNAL_PROCESSOR = 'haystack.signals.RealtimeSignalProcessor'
如果您需要更多信息,可以阅读文档RealtimeSignalProcessor。