Guida dell'utente

# L'indice del filesystem

Gli Attributi e le Query sono fra le caratteristiche principali di Haiku. Mentre gli attributi sono utili di per se in quanto permettono di visualizzare delle informazioni aggiuntive, per poter effettuare delle query c'è bisogno che gli attributi vengano indicizzati. Essi vengono inseriti su una tabella di ricerca, che a sua volta consente di eseguire delle query velocissime.
L'indice è parte del filesystem ed è conservato su ogni volume e su ogni partizione separatamente.

## Comandi di indicizzazione dal Terminale

Ci sono numerosi comandi per gestire l'indice:

- lsindex - Visualizza l'indice degli attributi sul volume o sulla partizione in uso.
  Ci sono attributi che vengono indicizzati in modo predefinito:

     ~ ->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 - Aggiunge un attributo all'indice del volume o della partizione.

    Usage: mkindex [options] <attribute>
    Creates a new index for the specified attribute.

      -d, --volume=PATH     a path on the volume to which the index will be added,
                            defaults to current volume.
      -t, --type=TYPE       the type of the attribute being indexed.  One of "int",
                            "llong", "string", "float", or "double".
                            Defaults to "string".
          --copy-from       path to volume to copy the indexes from.
      -v, --verbose         print information about the index being created

Verranno automaticamente indicizzati solo i nuovi file con questo attributo.
I file esistenti devono essere aggiunti manualmente copiandoli ed eliminando gli originali, altrimenti si può usare il comando reindex.

- reindex - Inserisce gli attributi dei file esistenti nel nuovo indice di un volume o di una partizione.

    Usage: reindex [-rvf] attr <list of filenames and/or directories>
      -r    enter directories recursively
      -v    verbose output
      -f    create/update all indices from the source volume,
            "attr" is the path to the source volume

- rmindex - Rimuove un attributo dall'indice di un volume o di una partizione.

    Usage: rmindex [OPTION]... INDEX_NAME

    Removes the index named INDEX_NAME from a disk volume.  Once this has been
    done, it will no longer be possible to use the query system to search for
    files with the INDEX_NAME attribute.

      -d, --volume=PATH     a path on the volume from which the index will be
                             removed
      -h, --help            display this help and exit
      -p, --pattern         INDEX_NAME is a pattern
      -v, --verbose         print information about the index being removed

    INDEX_NAME is the name of a file attribute.

    If no volume is specified, the volume of the current directory is assumed.