プレーンテキストとHTMLフィールドを含むDexterityコンテンツタイプを書いています。これらのフィールドをportal_catalogおよびPlone全文検索に公開するカスタムSearchableText()メソッドが必要です。
プレーンテキストの場合、スペースを使用して文字列結合を実行できると思います。しかし、SearchableText()でHTMLコンテンツを公開する場合、どのように前処理する必要がありますか?
プレーンテキストとHTMLフィールドを含むDexterityコンテンツタイプを書いています。これらのフィールドをportal_catalogおよびPlone全文検索に公開するカスタムSearchableText()メソッドが必要です。
プレーンテキストの場合、スペースを使用して文字列結合を実行できると思います。しかし、SearchableText()でHTMLコンテンツを公開する場合、どのように前処理する必要がありますか?
ploneでデータを変換するために、portal_transformsと呼ばれるツールがあります。これは、ものを変換するのに非常にインテリジェントです(OS /インストールによっては、.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
乾杯
たぶん、 collective.dexteritytextindexerは、あなたが望むものの一部を手に入れるのを助けることができます。