Indice
Gli Attributi e le Interrogazioni 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.