【问题标题】:Add contents of Dexterity NamedBlobFile to SearchableText将 Dexterity NamedBlobFile 的内容添加到 SearchableText
【发布时间】:2011-10-05 17:27:37
【问题描述】:

我创建了一个灵活的内容类型,其中包含 NamedBlobFile 作为字段之一(用户将上传 .pdf)。我想对该 pdf 进行全文索引——比如 ATFile 类型——但不确定我必须做什么才能实现这一点。

我已经安装了collective.dexteritytextindexer,并通过这样做将其他一些字段添加到可搜索文本中:

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

我不确定如何处理文件字段。有什么建议吗?

【问题讨论】:

标签: full-text-search plone dexterity


【解决方案1】:

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

collective.dexteritytextindexer 中有一个转换器负责将文件内容转换为文本,使其可索引(请参阅the code at github),这也适用于 blob(因为 INamedBlobFileField 的子类 INamedFileField适配器已注册)。

如果它不起作用,它是一个错误,所以请在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')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-19
    • 1970-01-01
    • 1970-01-01
    • 2013-01-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多