intra-mart Accel Platform 2023 Autumn(Hollyhock) リリースノート 第2版 2023-10-31

9.6. IM-ContentsSearch for Accel Platform

9.6.1. 試用版ライセンスによる最大コンテンツ数の制限があります。

  • 試用版ライセンスの状態で登録可能なコンテンツの数は 2 万コンテンツ分までです。
    また、コンテンツが作成される単位はコンテンツ情報を登録するアプリケーション毎の仕様により差異があります。
    IM-ContentsSearch for Accel Platform のライセンスを登録して頂くことで無制限に登録可能です。

9.6.2. テキスト抽出に関する制約があります。

  • □ 対応ファイルフォーマット
    標準で提供するテキスト抽出クラスを利用してテキストの抽出が可能なファイルフォーマットは下記の通りです。

    [テキストを抽出できるファイルフォーマット一覧]
    1. プレーンテキスト text/plain (txt)
    2. HTML text/html (htm, html)
    3. XML text/xml (xml)
    4. PDF application/pdf (pdf)
    5. Microsoft Office Word
    ・application/msword (doc)
    ・application/vnd.openxmlformats-officedocument.wordprocessingml.document (docx)
    6. Microsoft Office PowerPoint
    ・application/vnd.ms-powerpoint (ppt)
    ・application/vnd.openxmlformats-officedocument.presentationml.presentation (pptx)
    7. Microsoft Office Excel
    ・application/vnd.ms-excel (xls)
    ・application/vnd.openxmlformats-officedocument.spreadsheetml.sheet (xlsx)
    8. Microsoft Visio application/vnd.ms-visio.viewer (vsd)
    9. ZIP アーカイブ application/zip (zip)
    10. DocuWorks文書
    □ テキストを抽出する際の制限事項
    製品として上記フォーマットのファイル全てに対して動作保証をしている訳ではありません。ご利用時には事前に検証を行ってください。
    以下に、それぞれのファイルフォーマットごとの、テキストを抽出する際の制限事項を述べます。
    1. プレーンテキスト
    API では、プレーンテキストファイル内のテキストの文字コードを統計的手法により、自動的に判別します。
    しかし、短いテキストしか含まれていないファイルや、複数の文字コードが混在しているファイル等については、文字コードを正しく判別できないことがあります。この場合、ファイルから抽出されたテキストは、文字化けしたものになり、正しく検索できません。
    2. HTML
    API では、HTML 内の以下の部分から、テキストを抽出します。
    ・HEAD 要素内の、TITLE 要素に含まれるテキスト
    ・BODY 要素に含まれるテキスト
    またAPI では、HTML の文字コードを、まず META タグで指定された content-type を探すことによって判別しようと試み、それに失敗すると、プレーンテキストと同じく、統計的手法により判別を試みます。
    文字コードを正しく判別できなかった場合、ファイルから抽出されたテキストは文字化けします。
    3. XML
    API では、XML 内の全てのテキストノードを抽出します。
    4. PDF
    APIでは、設定ファイル(<CONTENTS_PATH>/WEB-INF/conf/solr-extractor-config.xml)による指定に応じて、以下のいずれかを用いてPDFからテキストを抽出します。
    2. Xpdf (http://www.foolabs.com/xpdf/) 付属のコマンド”pdftotext”
    3. フリーウェア”xdoc2txt” (http://ebstudio.info/home/xdoc2txt.html)

    pdftotext や xdoc2txt を使用することでテキスト抽出に対応したPDFの種類が増加します。
    pdftotext または xdoc2txtを用いる場合、 intra-mart AccelPlatform が動作しているすべてのマシン上に、Xpdfまたはxdoc2txt.exeがインストールされ、各コマンドが正常に動作する環境が整っている必要があります。
    また、xdoc2txt.exeは Microsoft Windows マシン上でしか動作しません。
    なお、いずれを用いる場合であっても、パスワードつきで暗号化されたPDFファイル(PDFビューアで開く際に、パスワードを要求されるPDFファイル)からテキストを抽出することはできません。
    5. Microsoft Office Word
    APIでは、設定ファイルの指定に応じて、以下のいずれかを用いて、Wordファイルからテキストを抽出します。
    1. Apache POI (http://poi.apache.org/)
    2. xdoc2txt

    Officeのバージョンによって拡張子等のファイルフォーマットに変更があった場合は、テキストを抽出することはできません。
    xdoc2txt を用いる場合、xdoc2txt.exe がインストールされ、正常に動作する環境が整っている必要があります。
    xdoc2txt.exe は Microsoft Windows でしか動作しません。
    いずれを用いる場合であっても、パスワードで保護されたWordファイルからテキストを抽出することはできません。
    Office文書ファイルの埋め込みオブジェクトのテキスト抽出に対応しておりません。
    6. Microsoft Office PowerPoint
    API では、設定ファイルの指定に応じて、以下のいずれかを用いて、PowerPoint ファイルからテキストを抽出します。
    1. Apache POI (http://poi.apache.org/)
    2. xdoc2txt

    Officeのバージョンによって拡張子等のファイルフォーマットに変更があった場合は、テキストを抽出することはできません。
    xdoc2txtを用いる場合、xdoc2txt.exeがインストールされ、正常に動作する環境が整っている必要があります。
    xdoc2txt.exe は、Microsoft Windows でしか動作しません。
    いずれを用いる場合であっても、パスワードで保護されたPowerPointファイルからテキストを抽出することはできません。
    Office文書ファイルの埋め込みオブジェクトのテキスト抽出に対応しておりません。
    7. Microsoft Office Excel
    APIでは、設定ファイルの指定に応じて、以下のいずれかを用いて、Excelファイルからテキストを抽出します。
    1. Apache POI
    2. xdoc2txt

    Officeのバージョンによって拡張子等のファイルフォーマットに変更があった場合は、テキストを抽出することはできません。
    xdoc2txt を用いる場合、xdoc2txt.exe がインストールされ、正常に動作する環境が整っている必要があります。
    xdoc2txt.exeは Microsoft Windows マシン上でしか動作しません。
    いずれを用いる場合であっても、パスワードで保護されたExcelファイルからテキストを抽出することはできません。
    Office文書ファイルの埋め込みオブジェクトのテキスト抽出に対応しておりません。
    8. Microsoft Visio
    APIでは Apache POI を用いて、Visioファイルからテキストを抽出します。
    Office文書ファイルの埋め込みオブジェクトのテキスト抽出に対応しておりません。
    9. Zip アーカイブ
    ZIP アーカイブ内に含まれる各ファイルからテキストを抽出すると同時に、各ファイルの名前自体も抽出したテキストに加えます。
    ZIP アーカイブ内のファイルの名前は、Windows-31J(いわゆる Shift_JIS)によりエンコードされ、ZIP に記録されているものとみなされます。
    日本語 Windows で作成された ZIP ファイルでは、この仮定はほぼ正しいものです。
    もし ZIP アーカイブ内のファイル名が、Windows-31J でエンコードされていない場合、抽出されたテキストに、文字化けが発生します。
    ただし、文字化けが発生するのは、ファイル名部分のみであり、ファイルの内容から抽出されたテキストについては影響がありません。

    ZIPファイルに、暗号化されたファイルが含まれている場合、APIでは、そのファイルの名前のみを、テキストとして抽出します。
    なお、暗号化されているかどうかを判別できるのは、ZIP 2.0 互換のアーカイブフォーマットのみです。
    Windows が作成する ZIP フォルダは、一般にこのフォーマットと互換性を持っています。
    10. DocuWorks文書
    APIでは、設定ファイル(<CONTENTS_PATH>/WEB-INF/conf/solr-extractor-config.xml)による指定に応じて、以下のいずれかを用いてDocuWorks文書からテキストを抽出します。
    各インストール環境に合わせたアプリケーションのインストールが必要です。
    1. Windows環境に構築する場合
    DocuWorks Content Filter (DocuWorks 9.1 に同梱されています)
    2. Linux環境に構築する場合
    DocuWorks Content Filter for Linux 7.0
    ただし、上記に該当するファイルフォーマットでもテキスト抽出に失敗する場合があります。

コラム

抽出に失敗する一例としては、
  • 記載のないフォーマット(設定ファイルに該当するフォーマットがない)
  • ファイルサイズを超過している(設定ファイル上の制限を超えている)
  • 抽出に利用する一時ディレクトリが存在しない(設定ファイル上のディレクトリがない)
  • 利用ライブラリが対応していない(フォントが利用できない)
  • 拡張子とMIMEタイプが異なる(拡張子がdocだが、中身がdocx)
等様々です。
抽出タイプが複数あるフォーマットについては設定を確認のうえ、抽出処理の切り替えをおこなってください。
設定方法は、「設定ファイルリファレンス」-「テキスト抽出設定」を参照ください。
記載のないフォーマットのファイルを検索対象としたい場合は、「IM-ContentsSearch プログラミングガイド」を参考に、テキスト抽出処理を実装できます。

9.6.3. 「いずれかのキーワード」の検索には制限があります。

  • 「いずれかのキーワード」の検索には制限があります。

    以下の条件を指定した場合は、正しく検索できません。
    • |(パイプ文字)」を「いずれかのキーワード」に指定して検索した場合
    • 「aaaa | bbbb cccc | dddd」 のように 「|(パイプ文字)」で区切ったブロックを複数指定して検索した場合

9.6.4. 検索実行後、検索キーワードに表示される語順が変わることがあります。

  • 検索実行後、検索キーワードに表示される語順が変わることがあります。

    入力されたキーワードを解析するため、検索実行後に表示されるキーワードの語順が変わることがあります。

9.6.5. 検索キーワードとして使用できる文字に制限があります。

  • 検索キーワードとして使用できる文字に制限があります。

    以下の文字列は使用できません。
    • \"
    • \|
    • \"\"
    • ||
    • \"|\"|
    • |\"|\"
    • ダブルクォーテーションが奇数

    コラム

    2021 Spring(Bergamot) 以降では、上記の文字を使用した場合、エラーメッセージまたはダイアログが表示されます。