带有django-haystack的Elasticsearch自动运行更新索引

时间:2018-06-30 20:26:19

标签: django elasticsearch solr full-text-search django-haystack

我正在开发一个开放的博客网站,其搜索功能是将django-haystack与Elastic search结合使用,但问题是在每篇博客文章中我都需要运行命令python manage.py update_index之后,如何自动执行update_index ?能否请您告诉我该网站是否有数百万的帖子,这是个好主意还是因为我每次都需要刷新索引而使我的网站崩溃,我是新手,请告诉我进行大量搜索的正确方法。 instagram和其他社交网站使用什么搜索技术。

1 个答案:

答案 0 :(得分:2)

您可以通过将其添加到settings.py来启用实时更新:

HAYSTACK_SIGNAL_PROCESSOR = 'haystack.signals.RealtimeSignalProcessor'

更多详细信息在这里:

http://django-haystack.readthedocs.io/en/v2.4.1/signal_processors.html#realtime-realtimesignalprocessor

在重新索引可能会花费一些时间的情况下,您应该使用队列来防止请求/响应周期受阻,此处建议使用诸如芹菜之类的可能解决方案:

http://django-haystack.readthedocs.io/en/v2.4.1/other_apps.html#ref-other-apps