Не удалось найти объект с помощью RealtimeSignalProcessor

Я настраиваю все свои проекты с стогом сена RealtimeSignalProcessor;

HAYSTACK_SIGNAL_PROCESSOR = 'haystack.signals.RealtimeSignalProcessor'

Однако я часто вижу ошибки, возникающие при поиске, когда объекты были удалены из базы данных;

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

Разве этот процессор сигналов не выполняет удаление индекса, чтобы избавиться от старых объектов?

1 ответ

Где-то в вашем коде плагины регистрируются с помощью поиска. Aldryn Search сам по себе не регистрирует плагины в поиске, вместо этого он регистрирует переводы страниц и оттуда выводит плагины и сохраняет их как контент перевода страниц, но только плагины никогда не индексируются.

Поскольку плагины регистрируются напрямую, вы столкнетесь с множеством проблем при индексировании в реальном времени, поскольку плагины добавляются и удаляются при различных операциях.

то есть. Когда вы публикуете страницу, все плагины в общедоступной версии страницы удаляются, а затем воссоздаются из плагинов в черновой версии.

Другие вопросы по тегам