intra-mart Accel Platform 設定ファイルリファレンス 第23版 2019-08-01

テキスト抽出設定

概要

IM-ContentsSearch において、ファイルからテキストデータを抽出する機能の設定値です。
モジュール IM-ContentsSearch コアライブラリ
フォーマットファイル(xsd) WEB-INF/schema/solr-extractor-config.xsd
設定場所 WEB-INF/conf/solr-extractor-config.xml

<?xml version="1.0" encoding="UTF-8"?>
<solr-extractor-config
   xmlns="http://intra-mart.co.jp/system/solr/config/solr-extractor-config"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://intra-mart.co.jp/system/solr/config/solr-extractor-config ../schema/solr-extractor-config.xsd ">

  <extractor name="im_default">
    <default>
      <min-size>0</min-size>
      <max-size>100M</max-size>
      <properties>
        <!-- temporary directory sample for Linux -->
        <property name="tmpDir" type="string">/tmp</property>
        <!-- temporary directory sample for Windows -->
        <!--
        <property name="tmpDir" type="string">C:\temp</property>
        -->
      </properties>
    </default>
    <mapping>
      <!-- Entry for text files -->
      <entry type="text/plain" extension="txt" max-size="1M" class="jp.co.nttdata.intra_mart.contentssearch.text.extraction.extractor.PlainTextExtractor" />

      <!-- Entry for HTML files -->
      <entry type="text/html" extension="htm,html" max-size="1M" class="jp.co.nttdata.intra_mart.contentssearch.text.extraction.extractor.HtmlExtractor" />

      <!-- Entry for XML files -->
      <entry type="text/xml" extension="xml" max-size="1M" class="jp.co.nttdata.intra_mart.contentssearch.text.extraction.extractor.XmlExtractor" />

      <!-- Entry for Word files -->
      <entry type="application/msword" extension="doc" class="jp.co.nttdata.intra_mart.contentssearch.text.extraction.extractor.WordExtractor" />
      <entry type="application/vnd.openxmlformats-officedocument.wordprocessingml.document" extension="docx" class="jp.co.nttdata.intra_mart.contentssearch.text.extraction.extractor.WordxExtractor" />

      <!-- Entry for Excel files -->
      <entry type="application/vnd.ms-excel" extension="xls" max-size="10M" class="jp.co.nttdata.intra_mart.contentssearch.text.extraction.extractor.ExcelExtractor" />
      <entry type="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" extension="xlsx" max-size="10M" class="jp.co.nttdata.intra_mart.contentssearch.text.extraction.extractor.ExcelxExtractor" />

      <!-- Entry for PowerPoint files -->
      <entry type="application/vnd.ms-powerpoint" extension="ppt" class="jp.co.nttdata.intra_mart.contentssearch.text.extraction.extractor.PowerPointExtractor" />
      <entry type="application/vnd.openxmlformats-officedocument.presentationml.presentation" extension="pptx" class="jp.co.nttdata.intra_mart.contentssearch.text.extraction.extractor.PowerPointxExtractor" />

      <!-- Entry for Visio files -->
      <entry type="application/vnd.visio" extension="vsd" class="jp.co.nttdata.intra_mart.contentssearch.text.extraction.extractor.VisioExtractor" />

      <!-- Entry for zip files -->
      <entry type="application/zip" extension="zip" class="jp.co.nttdata.intra_mart.contentssearch.text.extraction.extractor.ZipExtractor" />

      <!-- Entry for PDF files -->
      <entry type="application/pdf" extension="pdf" precedence="1" class="jp.co.nttdata.intra_mart.contentssearch.text.extraction.extractor.PdfExtractor" />


      <!-- 以下の要素は無効化されています -->

      <!-- xpdfを利用してPDFを処理する設定 -->
      <entry enabled="false" type="application/pdf" extension="pdf" precedence="3" class="jp.co.nttdata.intra_mart.contentssearch.text.extraction.extractor.XpdfExtractor">
        <property name="exeFile" type="string">C:\pdftotext_home\pdftotext.exe</property>
      </entry>

      <!-- xdoc2txtを利用してPDFを処理する設定 -->
      <entry enabled="false" type="application/pdf" extension="pdf" precedence="2" class="jp.co.nttdata.intra_mart.contentssearch.text.extraction.extractor.Xdoc2txtExtractor">
        <property name="tmpExtension" type="string">pdf</property>
        <property name="exeFile" type="string">C:\xdoc2txt_home\xdoc2txt.exe</property>
      </entry>

      <!-- DocuWorks文書を処理するLinux向けの設定 -->
      <entry enabled="false" type="application/vnd.fujixerox.docuworks" extension="xdw" precedence="1" class="jp.co.intra_mart.foundation.contentssearch.extraction.extractor.DocuWorksExtractor4Linux">
        <property name="tmpExtension" type="string">xdw</property>
        <property name="exeFile" type="string">xdw2text</property>
      </entry>
      <entry enabled="false" type="application/vnd.fujixerox.docuworks.binder" extension="xbd" precedence="1" class="jp.co.intra_mart.foundation.contentssearch.extraction.extractor.DocuWorksExtractor4Linux">
        <property name="tmpExtension" type="string">xbd</property>
        <property name="exeFile" type="string">xdw2text</property>
      </entry>

      <!-- DocuWorks文書を処理するWindows向けの設定 -->
      <entry enabled="false" type="application/vnd.fujixerox.docuworks" extension="xdw" precedence="1" class="jp.co.intra_mart.foundation.contentssearch.extraction.extractor.DocuWorksExtractor4Windows">
        <property name="tmpExtension" type="string">xdw</property>
      </entry>
      <entry enabled="false" type="application/vnd.fujixerox.docuworks.binder" extension="xbd" precedence="1" class="jp.co.intra_mart.foundation.contentssearch.extraction.extractor.DocuWorksExtractor4Windows">
        <property name="tmpExtension" type="string">xbd</property>
      </entry>

    </mapping>
  </extractor>

</solr-extractor-config>

コラム

単位サフィックス

整数を記述する場合は、単位を示す 単位サフィックス を末尾に付け加えた形式が利用できます。
例えば「百万」という整数を記述するには通常 1000000 と記述しますが、これを 1M と書くことができます。
利用可能な単位サフィックスは、 k , M , G , T のいずれかです。
以下に、例を示します。
  • 10k = 10,000
  • 100M = 100,000,000
  • 90G = 90,000,000,000
  • 711T = 711,000,000,000,000

リファレンス

テキスト抽出設定グループ

タグ名 extractor
一つのテキスト抽出設定グループを表します。
詳細な設定は配下のタグで行います。

【設定項目】

<solr-extractor-config>
  <extractor name="im_default">
    ...
  </extractor>
  ...
</solr-extractor-config>

必須項目
複数設定
親タグ solr-extractor-config

【属性】

属性名 説明 必須 デフォルト値
name
テキスト抽出設定グループの名称を指定します。
solr-config.xml にて参照するために利用されます。
なし

パラメータ既定値

タグ名 default
テキスト抽出パラメータを既定値を設定します。
<mapping> タグ内にて設定されたすべての <entry> に対する共通の既定値です。

【設定項目】

<solr-extractor-config>
  <extractor name="im_default">
    <default>
      ...
    </default>
    ...
  </extractor>
  ...
</solr-extractor-config>

必須項目 ×
複数設定 ×
親タグ extractor

テキスト抽出対象ファイルサイズ最小値の既定値

タグ名 min-size
テキスト抽出対象ファイルサイズ最小値の既定値を設定します。
設定値には 単位サフィックス が利用可能です。

【設定項目】

<solr-extractor-config>
  <extractor name="im_default">
    <default>
      <min-size>0</min-size>
      ...
    </default>
    ...
  </extractor>
  ...
</solr-extractor-config>

必須項目 ×
複数設定 ×
省略時のデフォルト値 0 (制限なし)
親タグ default

テキスト抽出対象ファイルサイズ最大値の既定値

タグ名 max-size
テキスト抽出対象ファイルサイズ最大値の既定値を設定します。
設定値には 単位サフィックス が利用可能です。

【設定項目】

<solr-extractor-config>
  <extractor name="im_default">
    <default>
      ...
      <max-size>100M</max-size>
      ...
    </default>
    ...
  </extractor>
  ...
</solr-extractor-config>

必須項目 ×
複数設定 ×
省略時のデフォルト値 0 (制限なし)
親タグ default

プロパティ既定値一覧の設定

タグ名 properties
プロパティの既定値の一覧を設定します。
プロパティの設定は配下の property タグで行います。

【設定項目】

<solr-extractor-config>
  <extractor name="im_default">
    <default>
      ...
      <properties>
        ...
      </properties>
    </default>
    ...
  </extractor>
  ...
</solr-extractor-config>

必須項目 ×
複数設定 ×
親タグ default

プロパティ既定値の設定

タグ名 property
プロパティの既定値を設定します。

【設定項目】

<solr-extractor-config>
  <extractor name="im_default">
    <default>
      ...
      <properties>
        <property name="tmpDir" type="string">tmp</property>
      </properties>
    </default>
    ...
  </extractor>
  ...
</solr-extractor-config>

必須項目 ×
複数設定
親タグ properties

【属性】

属性名 説明 必須 デフォルト値
name
nameの値 説明
tmpDir 添付ファイルからテキスト抽出する際に一時的に利用する、ディレクトリのパスを指定します。
なし
type
JavaBean プロパティ値の型を指定します。
指定可能な値は、 string , int , long , null のいずれかです。
なし

テキスト抽出器クラスの対応関係一覧の設定

タグ名 mapping
拡張子 および MIMEタイプ に対応するテキスト抽出器クラスの対応関係を設定します。
対応関係の設定は配下の entry タグで行います。

【設定項目】

<solr-extractor-config>
  <extractor name="im_default">
    ...
    <mapping>
      ...
    </mapping>
  </extractor>
  ...
</solr-extractor-config>

必須項目
複数設定 ×
親タグ extractor

テキスト抽出器クラスの対応関係の設定

タグ名 entry
拡張子 および MIMEタイプ に対応するテキスト抽出器クラスの対応関係を設定します。

【設定項目】

<solr-extractor-config>
  <extractor name="im_default">
    <mapping>
      ...
      <entry enabled="false" type="application/pdf" extension="pdf" precedence="3" class="jp.co.nttdata.intra_mart.contentssearch.text.extraction.extractor.XpdfExtractor">
        ...
      </entry>
      ...
    </mapping>
  </extractor>
  ...
</solr-extractor-config>

必須項目
複数設定
親タグ mapping

【属性】

属性名 説明 必須 デフォルト値
enabled
この entry が有効とみなすかどうかを、 true または false で指定します。
false を指定した場合は、この entry はテキスト抽出に用いられません。
× true
min-size
テキスト抽出対象とするファイルの境界値を含んだ最小サイズ設定します。
ファイルサイズがこの範囲内におさまらない場合は、そのファイルの中身からテキストが抽出されません。
設定値には 単位サフィックス が利用可能です。
× なし
max-size
テキスト抽出対象とするファイルの境界値を含んだ最大サイズ設定します。
ファイルサイズがこの範囲内におさまらない場合は、そのファイルの中身からテキストが抽出されません。
0以下の値を指定した場合、無制限であることを意味します。
設定値には 単位サフィックス が利用可能です。
× なし
type MIME タイプを指定します。 なし
extension
拡張子を指定します。
半角カンマで区切って、複数の拡張子を記述することができます。
例) extension=”htm,html” と記述すると、「htm」「html」という二つの拡張子に対応する entry であることを表します。
なし
class
指定した MIMEタイプ および 拡張子 を持つファイルからテキストを抽出するための、テキスト抽出器クラスの完全修飾Javaクラス名を指定します。
なし
precedence
同じMIMEタイプまたは拡張子に対して複数のテキスト抽出器クラスを設定した場合に、どのテキスト抽出器クラスを優先するかを整数値で指定します。
大きな値を指定するほど、優先度が高くなります。
× 0

テキスト抽出器クラスのJavaBeanプロパティの設定

タグ名 property
entry タグにて指定されたテキスト抽出器クラスをインスタンス化する際に、JavaBeanプロパティとしてセットされる値を設定します。

【設定項目】

<solr-extractor-config>
  <extractor name="im_default">
    <mapping>
      ...
      <entry enabled="false" type="application/pdf" extension="pdf" precedence="3" class="jp.co.nttdata.intra_mart.contentssearch.text.extraction.extractor.XpdfExtractor">
        <property name="exeFile" type="string">C:\pdftotext_home\pdftotext.exe</property>
      </entry>
      ...
    </mapping>
  </extractor>
  ...
</solr-extractor-config>

必須項目 ×
複数設定
親タグ entry

【属性】

属性名 説明 必須 デフォルト値
name
JavaBean のプロパティ名を指定します。
なし
type
JavaBean プロパティ値の型を指定します。
指定可能な値は、 string , int , long , null のいずれかです。
なし