メタ情報の付加によるファイルの整理と検索

ファイルにユーザが任意の(文字列形式の)メタ情報を付加し,後でそのメタ情報を元に検索できるアプリケーションはないだろうか?

想定しうる問題 - 万単位の画像管理

  • 画像ファイルにキーワードを付加する必要がある.キーワードのない画像ファイルは開いてみなければ内容が全く分からない.
  • ファイル名にキーワードを付加する方法
    • ファイルシステムの問題.ファイル名の長さに制限がある.また,ファイル名に使用できる文字が一部制限される.
    • ファイル名の重複の問題.同一傾向のファイルには似たキーワードが付加されうる.
    • ディレクトリによる管理の問題.複数のキーワードが付加されたファイルをどのディレクトリに入れるべきか判断しにくい.上の問題と合わせ,ディレクトリによる整理よりもファイルの名前や置き場所にとらわれない検索システムの方が有利.
  • ファイルの内容の重複.同じ内容の複数のファイルが存在する可能性がある.その場合,内容の重複を検出し,キーワードをマージしてやる必要がある.

原始的な方法

ユーザが独自にファイルの場所とキーワードの対応表を作成し,grep などで検索する.
この方法では,ファイルの検索は出来るが,ファイルの整理に関わる問題はほとんど解決されていない.例えば,ファイル名やファイルの場所が変更されるたびに,ユーザが人力で対応表を更新する必要がある.また,検索によって抽出されたファイルを一括で操作(ファイルの移動,説明文の更新など)したい場合も色々と面倒が多い.
せめて,シェル(Explorer など)の機能との統合が必要になるだろう.

Google Desktop Search

ファイルに付加された文字情報を元に検索する.文字列ベースのファイル形式は全文検索する.メディアファイル(画像,音声,動画など)は付加されたタグ(ID3, Exif など?)を元に検索する.
この方法では,意図的にキーワードを付加したいとき,ファイルの内容そのものを変更する必要がある.これでは,付加されたメタ情報は異なるが,ファイルの本質的な内容は同じである複数のファイルが蔓延することになる.また,仕様的にメタ情報の付加が許されないファイル形式も存在しうる.(JPEGExif 情報を付加できるのは,JPEG の仕様に Exif 情報を書き込める領域が用意されているから.)

プレイリストエディタ

メディアファイルのプレイリスト作成に特化したアプリケーション.メディアファイルのメタ情報を,ファイル内部ではなく独自形式のプレイリストに保存するものや,アプリケーション上からファイル名の変更などができるものもある.
この方法は,任意のファイル形式に対応し,シェルに統合できれば最も理想に近い形になる.