2011-10-05 44 views
2

我创建了一个具有NamedBlobFile作为其中一个字段(用户将上传.pdf)的敏捷内容类型。我希望对该pdf有全文索引 - 就像ATFile类型一样 - 但不知道要做到这一点,我必须做些什么。将敏捷名称dBlobFile的内容添加到SearchableText

我已经安装collective.dexteritytextindexer并已经得到了一些做这个添加到搜索文本的其他领域:

searchable('paper_author') 
paper_author = schema.Text(title=_(u"Author"), required=False) 

我不知道该怎么对文件做的领域。建议?

+0

我问上http://stackoverflow.com/questions/7470152/title-and-description-arent-indexed-with-collective-dexteritytextindexer类似的东西看到我的解决方案在那里。 – gforcada

回答

0

我认为使用searchable()指令也适用于NameBlobFiles。

有在collective.dexteritytextindexer转换器以转换文件内容为文本的护理,使其可转位(见the code at github),这也适用于斑点(因为INamedBlobFileFieldINamedFileField为其适配器注册)。

如果它不能正常工作,请在collective.dexteritytextindexer issue tracker处创建问题。

如果问题是该字段是不是在你的代码中定义的,你不能使用searchable指令,也有searchable功能(进口来自.utils!),它可以像这样的架构范围之外使用:

from plone.app.dexterity.behaviors.metadata import IBasic 
from collective.dexteritytextindexer.utils import searchable 

searchable(IBasic, 'title') 
searchable(IBasic, 'description')