我使用haystack RealtimeSignalProcessor
;
HAYSTACK_SIGNAL_PROCESSOR = 'haystack.signals.RealtimeSignalProcessor'
但是,当从数据库中删除对象时,我经常会看到来自搜索的错误;
Object could not be found in database for SearchResult '<SearchResult: djangocms_text_ckeditor.text (pk=u'357')>'.
这个信号处理器是否没有在索引上运行删除来摆脱旧对象?
答案 0 :(得分:1)
在代码中的某处,插件正在搜索中注册。 Aldryn Search本身不使用搜索注册插件,而是注册页面翻译,然后从那里呈现插件并将其存储为页面翻译内容,但单独的插件从不编入索引。
由于插件是直接注册的,因此实时索引会遇到很多问题,因为插件会在不同的操作下添加和删除。
即。发布页面时,页面公共版本上的所有插件都将被删除,然后从草稿版本中重新创建。