2

フィールドの 1 つとして NamedBlobFile を持つ器用さコンテンツ タイプを作成しました (ユーザーは .pdf をアップロードします)。ATFile タイプのように、その pdf に全文索引を付けたいのですが、それを実現するために何をしなければならないかわかりません。

私は Collective.dexteritytextindexer をインストールし、これを行うことで検索可能なテキストに追加された他のフィールドのいくつかを取得しました:

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

ファイル フィールドをどうすればよいかわかりません。提案?

4

1 に答える 1

0

ディレクティブを使用するとsearchable()、NameBlobFiles でも​​機能するはずです。

collective.dexteritytextindexerファイルの内容をテキストに変換してインデックス付けできるようにするためのコンバーターがあり( github のコードを参照)、ブロブにも適用されます (アダプターが登録されているINamedBlobFileFieldサブクラスのため)。INamedFileField

うまくいかない場合はバグなので、collective.dexteritytextindexer issue trackerで問題を作成してください。

searchableコードでフィールドが定義されておらず、ディレクティブを使用できないことが問題である場合は、次のようにスキーマの範囲外で使用できるsearchable関数 (import from !) もあります。.utils

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

searchable(IBasic, 'title')
searchable(IBasic, 'description')
于 2013-01-01T16:04:43.033 に答える