Django haystack using_backends在RealtimeSignalProcessor中为空

时间:2015-05-22 13:25:44

标签: django django-haystack django-cms

我已经在一些Django CMS网站上设置了aldryn_searchdjango-haystack通过弹性搜索为搜索功能提供了强大功能。

在维护我的搜索索引时,我找到了实时处理器&设置它;

HAYSTACK_SIGNAL_PROCESSOR = 'haystack.signals.RealtimeSignalProcessor'

在阅读了文档后,假设这将导致所有的保存&删除django中的信号并适当更新haystack索引。但是我看到Sentry出现错误,这表明索引中有过时的项目,所以我假设删除信号不是从索引中删除旧对象(不再是数据库中);

haystack in _get_object
Object could not be found in database for SearchResult '<SearchResult: djangocms_text_ckeditor.text (pk=u'237')>'.

在haystack中是否还有其他功能/配置选项可以避免这种情况,或者更好的做法是将celery任务定期运行以运行update_index -r命令来维护索引?

更新

使用简单后端或弹性搜索时,只需深入信号处理器,using_backends列表为空。这显然是我没有看到此功能按预期工作的原因。为什么这会是空的?

0 个答案:

没有答案