ユーザーガイド

# インデックス

属性とクエリは Haiku の重要な特徴です。属性はそれだけで便利ですが、クエリが追加的なファイルの情報を表示するためには、属性をインデックス化する必要があります。インデックスは属性をルックアップテーブルに置くので、クエリはきわめて高速になります。
インデックスはファイルシステムの一部であり、ボリューム / パーティションごとに別々に保存されます。

## ターミナルでのインデックスコマンド

インデックスを管理するためのコマンドがいくつかあります。

- lsindex - 現在のボリューム / パーティションに対するインデックス化された属性を表示します。
  以下は標準でインデックス化されている属性です。

     ~ ->lsindex
    BEOS:APP_SIG
    MAIL:account
    MAIL:cc
    MAIL:chain
    MAIL:draft
    MAIL:flags
    MAIL:from
    MAIL:name
    MAIL:pending_chain
    MAIL:priority
    MAIL:reply
    MAIL:status
    MAIL:subject
    MAIL:thread
    MAIL:to
    MAIL:when
    META:address
    META:city
    META:company
    META:country
    META:email
    META:fax
    META:group
    META:hphone
    META:name
    META:nickname
    META:state
    META:url
    META:wphone
    META:zip
    _signature
    _status
    _trk/qrylastchange
    _trk/recentQuery
    be:deskbar_item_status
    last_modified
    name
    size

- mkindex - ボリューム / パーティションのインデックスに属性を追加します。

    使い方: mkindex [オプション] <属性>
    指定された属性に新しいインデックスを作ります。

      -d, --volume=PATH     インデックスが追加されるボリュームのパス、
                            標準では現在のボリュームに追加されます。
      -t, --type=TYPE       インデックス化された属性のタイプ  "int",
                            "llong", "string", "float",  "double"　のいずれか 1 つ。
                            標準では "string"
          --copy-from      インデックスをコピーするボリュームへのパス
      -v, --verbose         作られているインデックスについての情報を表示します

指定された属性を持つファイルが新規に作成される場合にのみ、自動的にインデックスに追加されます！
既存のファイルは、手動でコピーして、そのあと元のファイルを消すことで追加する必要があります。あるいは reindex コマンドを使うこともできます。

- reindex - ボリューム / パーティションの新たに作られたインデックスに既存のファイルの属性を追加します。

    使い方: reindex [-rvf] attr <ファイル名かディレクトリのリスト、またはその両方>
      -r    再帰的にディレクトリを辿ります
      -v    詳細な出力
      -f    ソースとなるボリュームからすべてのインデックスを作って更新します
            "attr" はソースとなるボリュームへのパスです

- rmindex - ボリューム / パーティションのインデックスから属性を削除します。

    使い方: rmindex [オプション]... INDEX_NAME

    ディスクボリュームから INDEX_NAME という名前のインデックスを削除します。
    これを行ってしまうと、クエリシステムを使って INDEX_NAME 属性のファイルを探すことはできません。

      -d, --volume=PATH     インデックスを削除するボリュームのパス
      -h, --help            ヘルプを表示して終了します
      -p, --pattern         INDEX_NAME がパターンである場合
      -v, --verbose         削除されるインデックスについての情報を表示します

    INDEX_NAME はファイル属性の名前です。

    ボリュームが指定されていない場合、現在のディレクトリのボリュームが対象になります。