メディアファイルの索引内容
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
Sitecore Content Search APIは、以下のオープンソースライブラリを使用してメディアファイルからテキスト内容を抽出し、インデックス化しています。
- PDFファイル用のPDFSharp
- DOCX、XLSX、PPTXファイル用のOpen XML SDK
メディアインデックスの設定
デフォルトのテキストエクストラクタは、.pdf、.docx、.xlsx、.pptxのファイル形式のみをサポートしています。拡張リストが必要な場合は、代替のテキストエクストラクタ、Solr Cell、Tika、またはIFilterのいずれかをご利用ください。
この場合、Sitecore
アプリケーションがAzure Web Appとして展開されている場合、iFilterオプションは使えません。
異なるファイルタイプのインデックスを使いたい場合は、検索プロバイダーのmediaIndexing設定ノードをパッチで修正してファイルタイプを指定できます。Solrの場合、デフォルト設定はApp_Config\Sitecore\ContentSearch\Sitecore.ContentSearch.Solr.DefaultIndexConfiguration.configファイルにあります。
mediaIndexingノードの下には2つのノードがあります:
-
mimeTypes
このノードは、含まれる(インデックス付け)または除外される(インデックスされていない)MIMEタイプを指定します。
-
extensions
このノードは、含まれる(インデックス付き)または除外される(インデックスされていない)ファイルの拡張子を指定します。
各ノードには2つのノードがあり、excludesとincludesで、インデックスしないものとインデックスするものを指定します。両方の場所でアスタリスク(*)をワイルドカードとして使うことができます。ワイルドカードを使ってホワイトリストとブラックリストを実装できます。ホワイトリストはexcludesノードにワイルドカードを追加し、includesノードにホワイトリストの拡張やMIMEタイプを追加してください。 includesノードにワイルドカードを追加してブラックリストにし、excludesノードで特定の拡張やMIMEタイプをブラックリストにします。
インデックス作成にIFilterを使用するようにコンテンツ検索を設定する
SitecoreコンテンツSearch APIをネイティブMicrosoft WindowsのIFilterインターフェースで設定できます。
PDF iFilterはデフォルトでインストールされていません。PDFファイルの内容をインデックスするには、インデックスを行う各Sitecoreインスタンスを探してください。Solrプロバイダーを使う場合、通常はCMインスタンスです。そのようなSitecoreインスタンスをホストする各マシンにPDF IFilterをインストールしなければなりません。
IFIlterがメディアファイルの内容を抽出してインデックス作成できるようにするために:
-
モディフェンス(パッチ) App_Config\Sitecore\ContentSearch\Sitecore.ContentSearch.ContentExtraction.config 以下の通り:
PDFコンテンツ抽出の制限
SitecoreはPDFSharpライブラリを使って、PDFファイルからテキストを抽出してインデックス化します。Sitecore PDFはPDFを読み取り専用モードでのみ開き、テキスト内容を抽出します。しかし、特定のPDF設定では抽出が成功しません。
対応PDFファイル
Sitecoreは以下の種類のPDFファイルをインデックス化できます:
- Unencrypted PDFs - 完全にサポートされています。
- ユーザーパスワードなしのRC4暗号化PDF - サポート中。SitecoreはPDFを読み取り専用で開くため、暗号化ファイルを開く際にはユーザーパスワード(所有者パスワードではなく)のみ提供すればよい。ユーザーパスワードが空なら、所有者パスワードを設定していてもファイルをインデックス化することができる。
サポートされていないPDF
Sitecoreは以下の種類のPDFファイルをインデックス付けできません:
シナリオ
エラーメッセージ
PDFはPDFSharpでサポートされていない暗号化アルゴリズム(例
)を使用しています。PDFSharpはレガシーのRC4ストリーム暗号のみをサポートしています。
The PDF document is protected with an encryption not supported by PDFsharp
PDFはRC4暗号化を使用しており、開くにはユーザーパスワードが必要です。
To modify the document the owner password is required
PDFファイルが破損または歪んでいます。
Unexpected token 'endobj' in PDF stream. The file may be corrupted.
回避策
暗号化の制限によりPDFファイルがインデックス化できない場合は、以下の選択肢を検討してください:
- 暗号化を解除または変更 してください。暗号化なしで、またはRC4暗号化で空のユーザーパスワードでPDFを再保存し、PDFSharpが読み取りのために開くことができます。
- 代替のテキスト抽出器を使い ましょう。デフォルトのPDFSharp抽出器の代わりにApache Tika、Solr Cell、またはIFilterを使用するようSitecoreを設定してください。これらの 代替手段は 、より幅広いPDF暗号化タイプをサポートする可能性があります。