Rubyでgroonga使って全文検索 - ラングバ

chupatext

chupatext — テキスト抽出コマンド

名前

chupatext - テキスト抽出コマンド

書式

chupatext [ オプション ... ] ファイル ...

説明

ChupaTextは様々な形式のファイルからテキスト情報とメタ情報を抽出するツールです。全文検索システムの構築などに有用です。抽出された情報はMIME形式で出力されるため、一般的なメールパーサで解析できます。

以下のファイル形式に対応しています。(暗号化されたファイルには対応していません。)

  • Adobe PDF形式ファイル

  • Microsoft Word形式ファイル

  • Microsoft Excel形式ファイル

  • Microsoft PowerPoint形式ファイル

  • HTMLファイル

また、以下のアーカイブ形式・圧縮形式にも対応しています。

  • zip

  • tar

  • gz

出力フォーマット

ChupaTextで抽出されたテキスト情報とメタ情報はMIME形式で出力されます。出力のヘッダーフィールドはメタ情報を、本文はテキスト情報を表しています。ChupaTextがメタ情報として必ず出力するフィールドは以下のものがあります。

Content-Type

常に"text/plain; charset=UTF-8"。

Content-Length

出力されたテキストのバイト数。実際に出力されるテキストには最後に必ず改行が付きます。そのため、chupatextは実際には本文としてテキストのバイト数 + 1バイト(改行分)のデータを出力します。

例えば、出力テキストが「Sample」の6バイトだった場合は、「Sample」+「改行(\n)」で合計7バイト出力します。

Original-Filename

入力ファイル名。

Original-Content-Type

入力ファイルのMIMEタイプ。可能であれば以下のパラメータも加わる。

  • charset: 入力ファイルのエンコーディング情報。

  • name: 入力ファイル名。(Original-Filenameと同じ値)

Original-Content-Disposition

入力ファイルを表示するときに利用する情報。タイプは常に"inline"。

  • filename: 入力ファイル名。(Original-Filenameと同じ値)

  • creation-date: 入力ファイルの作成時刻。(Creation-Timeと同じ値)

  • modification-date: 入力ファイルの最終更新時刻。(Modification-Timeと同じ値)

  • size: 入力ファイルのバイト数。

  • read-date: 入力ファイルを読み込んだ時刻。

また、以下のフィールドはメタ情報が存在する場合のみ出力されます。

Title

入力ファイルのタイトル。

Author

入力ファイルの作成者。

Modification-Time

入力ファイルの最終変更時刻。

Creation-Time

入力ファイルの作成時刻。

オプション

-h, --help

ヘルプメッセージを表示します。

-i, --ignore-errors

変換途中で起きたエラーを無視します。

-v, --version

バージョン番号を表示します。

終了ステータス

指定されたすべてのファイルのテキスト情報とメタ情報を抽出できた場合は0です。1つでも抽出に失敗した場合は0以外になります。ただし、 --ignore-errors を指定した場合は、失敗した場合でも0になります。

ファイル

/usr/local/etc/chupatext/descriptions/*.desc

テキスト抽出モジュールの情報があります。

/usr/local/lib/chupatext/modules/decomposers/*.so

テキスト抽出モジュールがあります。

/usr/local/lib/chupatext/ruby/chupa/decomposers/*.rb

Rubyで実装されたテキスト抽出モジュールがあります。

以下の例では、chupatextはPDFファイルのテキストとメタ情報を抽出し、MIME形式で出力します。エンコーディングはUTF-8です。

% chupatext sample.pdf

関連項目

unzip(1), gunzip(1), tar(1), pdftotext(1), wvText(1), ssconvert(1), ooffice(1), unoconv(1)