User Guide

# Index

Attribute and Queries sind zwei fundamentale Features von Haiku. Während Attribute allein schon sehr nützlich sind, um Zusatzinformationen anzuzeigen, müssen sie jedoch indiziert werden, um sie mit einer Query durchsuchen zu können. Dadurch gelangen sie intern in eine einfach durchsuchbare Tabelle, was Queries wiederum blitzschnell macht.
Der Index ist ein Teil des Dateisystems und wird getrennt pro Partition verwaltet.

## Index-Befehle im Terminal

Es existieren mehrere Befehle zur Verwaltung des Index:

- lsindex - Zeigt alle indizierten Attribute der aktuellen Partition.
  Folgende Attribute sind standardmäßig indiziert:

     ~ ->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 - Legt einen Index für ein Attribut auf der aktuellen Partition an.

    Gebrauch: mkindex [Optionen] <Attribute>
    Legt einen neuen Index für das angebene Attribut an.

      -d, --volume=PATH     ein Pfad auf der Partition, auf der der Index angelegt wird,
                            Standard ist die aktuelle Partition.
      -t, --type=TYPE       der Typ des zu indizierenden Attributs.  Entweder "int",
                            "llong", "string", "float", or "double".
                            Standard ist "string".
          --copy-from       Pfad zur Partition von der der Index kopiert wird.
      -v, --verbose         gibt informationen zum angelegten Index aus

Nur neu angelegte Dateien mit diesem Attribut kommen automatisch in den Index!
Bereits existierende Dateien müssen von Hand hinzugefügt werden, indem sie kopiert und anschließend die Originaldateien gelöscht werden. Oder man benutzt den Befehl reindex.

- reindex - Fügt die Attribute bereits existierender Dateien in den neu erstellten Index der aktuellen Partition.

    Gebrauch: reindex [-rvf] attr <Liste von Dateinamen und/oder Ordner>
      -r    arbeitet Ordner recursiv ab
      -v    ausführliche Ausgabe von Informationen
      -f    erstellt/aktualisiert alle Indexe von der Quell-Partition,
            "attr" ist der Pfad zur Quell-Partition

- rmindex - Entfernt ein Attribut aus dem Index der aktuellen Partition.

    Gebrauch: rmindex [OPTION]... INDEX_NAME

    Entfernt den Index "INDEX_NAME" von einer Partition. Ist das geschehen,
    kann mittel Queries nicht länger nach Dateien mit dem INDEX_NAME
    Attribut gesucht werden.

      -d, --volume=PATH     ein Pfad zu der Partition, von der der Index entfernt
                             werden soll
      -h, --help            zeigt diese Hilfe und bricht ab
      -p, --pattern         INDEX_NAME ist ein Muster
      -v, --verbose         gibt Informationen zum entfernten Index aus

    INDEX_NAME ist der Name eines Datei Attributs.

    Wird keine Partition angegeben, wird von der Partition des aktuellen Ordners ausgegangen.