Plone中的自定义SearchableText和HTML字段

时间:2011-08-05 12:33:41

标签: full-text-search plone zope dexterity

我正在写一个包含纯文本和HTML字段的Dexterity内容类型。我希望有一个自定义的SearchableText()方法,它将这些字段公开给portal_catalog和Plone全文搜索。

我假设纯文本我可以用空格进行字符串连接。但是,在SearchableText()中公开HTML内容时,我应该如何预处理HTML内容?

2 个答案:

答案 0 :(得分:9)

用于转换plone中的数据有一个名为portal_transforms的工具,它在转换内容方面非常聪明(取决于你的操作系统/安装,它也可能能够转换.doc,.pdf等):

from Products.CMFCore.utils import getToolByName
transforms = getToolByName(self.context, 'portal_transforms')
stream = transforms.convertTo('text/plain', html, mimetype='text/html')
text = stream.getData().strip()

为灵巧索引字段我建议使用collective.dexteritytextindexer(但目前没有TTW支持)。 - > http://pypi.python.org/pypi/collective.dexteritytextindexer - > https://github.com/collective/collective.dexteritytextindexer

欢呼声

答案 1 :(得分:1)

也许collective.dexteritytextindexer可以帮助您获得所需的一部分。