Í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 
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 
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.

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

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.