Я думаю, что использование директивы searchable()
должно работать и для NameBlobFiles.
В collective.dexteritytextindexer
имеется конвертер, который заботится о преобразовании содержимого файла в текст, чтобы он был индексируемым (см. код в github ), который также применяется к BLOB-объектам (так как INamedBlobFileField
подклассы INamedFileField
, для которых зарегистрирован адаптер).
Если это не сработает, это ошибка, поэтому, пожалуйста, создайте проблему в colle.dexteritytextindexer трекере проблем .
Если проблема в том, что поле не определено в вашем коде, и вы не можете использовать директиву searchable
, существует также функция searchable
(импорт из .utils
!), Которая может использоваться вне области действия схема такая:
from plone.app.dexterity.behaviors.metadata import IBasic
from collective.dexteritytextindexer.utils import searchable
searchable(IBasic, 'title')
searchable(IBasic, 'description')