Guia do Usuário

# Índice

Atributos e Consultas são funcionalidades-chave do Haiku. Ao passo que os atributos são úteis por si mesmos, para mostrar informação adicional em um arquivo, para uma consulta, é necessário que eles sejam indexados. Ele os põe dentro de uma tabela de consulta, a qual por sua vez realiza consultas super rápidas.
O índice é parte do sistema de arquivos e é mantido por todo volume/partição separadamente.

## Comandos de indexação no Terminal

Existem vários comandos para gerenciar o índice:

- lsindex - Mostra os atributos indexados no volume/partição atual.
  Estes são os atributos que são indexados por padrão:

     ~ ->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 - Adiciona um atributo ao índice de um volume/partição.

    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

Somente novos arquivos com aquele atributo vem automaticamente dentro do índice!
Arquivos existentes tem que ser adicionados manualmente ao copiá-los e eliminando os originais após isso. Alternativamente pode-se utilizar o comando reindex.

- reindex - Põe os atributos de arquivos existentes dentro do recém-criado índice de um volume/partição.

    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 - Remove um atributo de um índice de um volume/partição.

    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.