# Recoll: manuale utente

### Jean-Francois Dockes

`<jfd@recoll.org>`

Copyright © 2005 Jean-Francois Dockes

Questo documento spiega le nozioni della ricerca testuale e descrive l'installazione e l'uso di Recoll.

# Capitolo 1. Introduzione

## 1.1. Per gli impazienti

Se non amate leggere manuali (chi lo ama?) e vorreste provare subito Recoll, eseguite allora l'installazione e lanciate recoll, che per default inizierà ad indicizzare la vostra home cartella, permettendovi di fare subito una ricerca non appena il processo di indicizzazione sarà terminato.

Non fate così, però, se la vostra home cartella contiene un gran numero di documenti e non avete voglia di aspettare o avete poco spazio sul disco. In questo caso potrebbe convenirvi di editare per prima cosa il file di configurazione per estringere l'area da indicizzare.

Fate inoltre attenzione che potreste dover installare le applicazioni di supporto esterne per indicizzare quei documenti che le richiedono (ad esempio antiword per documenti ms-word).

## 1.2. Ricerca a tutto testo

Recoll è un'applicazione per la ricerca a tutto testo. Le applicazioni di ricerca a tutto testo vi permettono di trovare ciò che cercate in base al contenuto dei files e non al loro nome o estensione. Più in dettaglio vi lasciano specificare le parole (termini di ricerca) che dovrebbero (o non dovrebbereo) essere nel testo che cercate e vi ritornano una lista di documenti che soddisfano tale criterio, ordinati in maniera tale che quelli più rilevanti appaiano in cima alla lista.

Non hai bisogno di ricordare in che file o e-mail hai scritto una certa informazione. Semplicemente chiedi di trovare i termini che ti interessano e lo strumento ti ritornerà una lista di documenti che li conetngono, in modo simile a quello che fa un motore di ricerca su internet.

Recoll cerca di determinare quali documenti sono più rilevanti al fine della ricerca dei termini inseriti. Gli algritmi che determinano la rilevanza possono essere molto complessi e in generale sono inferiori alla potenza e rapidità della mente umana. La qualità nella determinazione della rilevanza è probabilmente il fattore più importante di uno strumento di ricerca.

In molti casi cercate tutte le forme di una parola, non una forma specifica. Queste differenti forme possono includere plurali, diverse coniugazioni di verbi, o parole derivate da una radice comune o stem (ad esempio: floopianor, piani, pianoforte, ripiano...). Recoll per default espande la ricerca a tutte queste variazioni parole che hanno in comune la stessa radice o stem). Questa espansione può essere disabilitata in qualsiasi momento.

Lo stemming, per se stesso, non risolve errori di ortografia, nè può fare ricerche fonetiche. Recoll supporta queste caratteristiche attraverso uno strumento specifico (il terminale di esplorazione) che vi lascia esplorare i termini contenuti nell'indice in differenti maniere.

## 1.3. Panoramica di Recoll

Recoll usa la libreria di ricerca informazioni Xapian come suo motore di ricerca e indicizzazione. Xapian è un programma molto maturo che usa un modello di rilevanza probabilistica molto sofisticato. Recoll provvede l'interfaccia per indicizzare del sistema ed estrarli in base alla ricerca.

In pratica, Xapian lavora ricordandosi i termini (parole) contenuti nei vari documenti. Conoscenza acquisita tramite il procedimento chiamato indicizzazione.

L'indice risultante può essere molto grande (a spanna la grandezza dei files indicizzati), ma non è un archivio di documenti. Recoll può mostrare solo i documenti che si trovano ancora là dove sono stati indicizzati. (In effetti esiste un modo per ricostruire un documento dalle informazioni racchiuse nell'indice, ma il risultato non è bello dal momento che il testo è tutto minuscolo e sono perdute le informazioni di formattazione).

Recoll immagazzina tutte le informazioni sando il formato Unicode UTF-8 e può indicizzare files con un differente set di caratteri, diverse codifiche e lingue sullo stesso indice. Posside filtri di ingresso per molteplici tipi di files.

Lo stemming dipende dalla lingua del documento. Recoll immagazzina i termini senza stem e usa database ausiliari per espandere (stemming) le parole. Può farlo scegliendo tra lingue diverse o aggiungendo nuove lingue senza dover rifare l'indice. Immagazzinare documenti in diverse lingue nello stesso indice è possibile, e nella pratica utile, ma può introdurre possibilità di confusione. Recoll attualmente non fa alcun tentativo per riconoscere automaticamente la lingua.

Recoll ha molti parametri per definire esattamente ciò che deve indicizzare e come classificare e decodificare il sorgente dei documenti. Questi parametri sono contenuti in un file di configurazione. La configurazione standard è messa in una cartella standard (normalmente qualcosa come `/usr/[local/]share/recoll/examples`) durante l'installazione. I parametri di default possono essere cambiati con valori da voi scelti e messi nel vostro file di configurazione personale che deve trovarsi nella cartella `.recoll` nella vostra home cartella. Il file di configurazione fornito di default dovrebbe essere sufficente per indicizzare la vostra home cartella e permettervi così di provare Recoll, salvo naturalmente personalizzarlo in seguito.

L'indicizzazione comincia automaticamente la prima volta che lanciate l'interfaccia grafica di ricerca di recoll oppure eseguendo il comando `recollindex`.

La ricerca viene fatta col programma recoll che ha numerose opzioni per farvi trovare quello che effettivamente state cercando.

# Capitolo 2. Indicizzazione

## 2.1. Introduzione

L'indicizzazione è il processo che analizza i documenti e mette i dati nel database. Il processo di indicizzazione di Recoll è normalmente incrementale, vale a dire che i documenti vengono analizzati e indicizzati solo se hanno subito modifiche. Alla prima esecuzione, naturalmente, tutti i documenti vengono analizzati e indicizzati..Il processo (indicizzazione completa) può essere eseguito in seguito specificando un'opzione al comando di indicizzazione (`recollindex -z`).

L'indicizzazione con Recoll può essere fatta con due metodi diversi:

- Indicizzazione periodica: l'indicizzazione avviene in tempi prestabiliti, eseguendo il comando `recollindex`. L'uso tipico è quello di fare una indicizzazione durante la notte programmando l'evento con cron.

- Indicizzazione in tempo reale: l'indicizzazione avviene non appena un file viene creato o cambiato. In questo caso `recollindex` gira come un demone e usa il monitoraggio del file-system fornito da Fam, Gamin o inotify per scoprire gli eventuali cambiamenti. Monitorare un grosso albero di cartelle può consumare molte risorse.

La scelta tra i due metodi è principalmente questione di preferenze e può essere combinata costruendo indici diversi (ad esempio: indicizzazione periodica per una grossa cartella di documenti e indicizzazione in tempo reale per una piccola home cartella). Monitorare grandi sezioni del disco può richiedere risorse significative del sistema senza portare vantaggi considerevoli.

Recoll riconosce alcuni differenti tipi di documenti. I parametri per il riconoscimento dei documenti sono nei files di configurazione. La maggior parte dei tipi, come l'HTML o i files di un wordprocessor, sono un unico documento. Altri tipi, come le mail cartelle, possono contenere molti singoli documenti indicizzati.

Recoll processa files di testo, HTML, openoffice ed e-mail internamente. Altri tipi (ad esempio: files postscript, pdf, ms-word, rtf) richiedono applicazioni esterne per poter essere processati. La lista di queste applicazioni è nella sezione installazione.

Senza ulteriori configurazioni, Recoll indicizzerà tutti i files della vostra home cartella, usando i parametri della configurazione di default.

In qualche caso potreste essere interessati ad indicizzare aree differenti del vostro file system in database separati. Potete farlo utilizzando la configurazione multipla di cartelle, indicizzando ciascuna area del file system in uno specifico database. Vedi la sezione su come usare database multipli per avere maggiori informazione sulla configurazione e indicizzazione multipla.

## 2.2. Salvare l'indice

Normalmente la cartella dove viene salvato l'indice è la sotto cartella xapiandb nella cartella di configurazione di Recoll, tipicamente `$HOME/.recoll/xapiandb/`. Questo però può essere cambiato in due modi differenti (con due differenti scopi):

- Puoi specificare una differente cartella di configurazione tramite la variabile di ambiente `RECOLL_CONFDIR`, oppure usando l'opzione `-c` nei comandi di Recoll. Questo metodo è usato tipicamente per indicizzare differenti aree del file system in differenti indici. Per esempio, coi seguenti comandi:

      export RECOLL_CONFDIR=~/.indexes-email
      recoll

  Recoll userò il file di configurazione che trova in `~/.indexes-email/` e, (se non specificato altrimenti in `recoll.conf`) cercherà l'indice in in `~/.indexes-email/xapiandb/`.

  Usare diverse cartella di configurazionee diverse opzioni di configurazione permette di adattare le configurazioni e gli indici ai dati presenti nelle varie aree dove volete effettuare le ricerche.

- Potete specificare un indirizzo diverso per salvare l'indice editando il parametro the `dbdir` che si trova nel file di configurazione (vedi la sezione di configurazione). Questometodo va usato se vuoi mantenere la cartella di configurazione nel suo indirizzo di default, ma vuoi mettere l'indice da qualche altra parte, generalmente per ragioni di spazio.

La grandezza dell'indice è determinata dal volume dei documenti da indicizzare, ma il rapporto può variare molto. Per un insieme di documenti normalmente misto il volume dell'indice è molto vicino a quello dei documenti indicizzati In casi specifici (ad esempio un insieme di mbox compresse), il volume dell'indice può essere molto più grande di quello dei documenti stessi. Può anche essere molto più piccolo se l'insieme di documenti contiene molte immagini e altri dati non indicizzati (un esempio estremo è dato dai files mp3 dove solo i tags vengono indicizzati).

Naturalmente immagini, suoni e video non incrementano il volume dell'indice, il che ha come conseguenza che, oggi (2006), il volume dell'indice sarà comunque trascurabile rispetto all'ammontare dei dati contenuti nel vostro computer.

La cartella contenente l'indice (`xapiandb`) contiene solo dati che possono essere ricostruiti in qualsiasi momento re-indicizzando il tutto, e quindi può essere cancellata senza problemi.

### 2.2.1. Sicurezza

L'indice di Recoll non contiene le copie dei documenti indicizzati. Ma conyiene abbastanza dati da permettere una ricostruzione piuttosto completa e comprensibile. Nel caso vengano indicizzati documenti confidenziali lìaccesso alla cartella del database dovrebbe essere limitato.

Dalla versione 1.4, Recoll crea la cartella di configurazione con i permessi 0700 (accessibile solo per il proprietario). Visto che bormalmente la cartella del database è una sub cartella di questa, la protezione dovrebbe essere sufficenta.

Se usi un'altra configurazione dovresti pensare al tipo di protezione che l'indice dovrebbe avere e settare la cartella corrispondente e i files con i permessi del caso.

## 2.3. Configurazione dell'indicizzazione

Puoi controllare le aree del file system da indicizzare e come processare i files tramite le variabili nei files di configurazione di Recoll.

Puoi anche usare indici multipli definiti da configurazioni separate, normalmente per separare indici personali e indici in comune, oppure per avvantaggiarsi dell'organizzazione dei tuoi dati e aumentare la precisione.

La prima volta che lanci `recoll`, verrai richiesto se vuoi che recoll costruisca l'indice oppure no. Se vuoi sistemare la configurazione prima che venga creato l'indice, clicca ora su Cancel. Facendo così avrai creato la cartella ~/.recoll contenente files di configurazione vuoti.

La configurazione è documentata all'interno del capitolo installazione di questo documento, o nella pagina man di recoll.conf(5) man page. La variabile di maggiore e immediato interesse è probabilmente topdirs, che determina quali cartelle indicizzare.

Le applicazioni esterne necessarie per indicizzare tipi di files diversi da txt, HTML o email (ad esempio: pdf, postscript, ms-word...) sono indicate nella sezione pacchetti esterni.

## 2.4. Indicizzazione periodica

### 2.4.1.Iniziare l'indicizzazione

L'indicizzazione viene eseguita o tramite il programma `recollindex`, o lanciando il thread di indicizzazione dal programma recoll (usa il menu File). Entrambi i modi fanno uso della variabile `RECOLL_CONFDIR` o accettano l'opzione `-c` `confdir` per specificare la cartella di configurazione da usare.

Se il programma `recoll` non trova alcun indice quando è lanciato, inizia automaticamente l'indicizzazione (a meno che non clicchi sul tasto Cancel).

E' meglio non interrompere il processo di indicizzazione perchè facendo così, il più delle volte, l'indice viene corrotto. Questo non è un problema serio visto che tutto quello che devi fare è cancellare l'indice e riavviare l'indicizzazione. I files dell'indice sono normalmente nella cartella `$HOME/.recoll/xapiandb`, che puoi tranquillamente cancellare se necessario. In alternativa puoi avviare recollindex con l'opzione `-z`, opzione che cancella il database prima di fare l'indicewhich will reset the database before indexing.

### 2.4.2. Usare cron per l'indicizzazione automatica

Il modo più semplice per avere un'indicizzazione automatica è usare cron per fare l'indicizzazione ogni notte. Ad esempio la seguente linea aggiunta a `crontab` esegue l'indicizzazione ogni giorno alle 3:30AM (supponendo che `recollindex` sia nel vostro PATH):

    30 3 * * * recollindex > /tmp/recolltrace 2>&1

Il comando usuale per editare `crontab` è `crontab -e` (che normalmente lancia l'editor `vi` per editare crontab). Potreste ovviamente avere strumenti più sofisticati nel vostro sistema atti allo scopo.

## 2.5. Indicizzazione in tempo reale

L'indicizzazione in tempo reale si ottiene con il comando `recollindex -m`. Con questa opzione, `recollindex` viene lanciato dal terminele e diventa un demone, monitorando in continuazione i cambiamenti e tenendo così aggiornato l'indice.

L'indicizzazione in tempo reale viene impostata alla configurazione del pacchetto (prima della compilazione) con l'opzione `--with[out]-fam` or `--with[out]-inotify`. Per default viene scelto inotify per i sistemi che lo supportano.

Lo script `rclmon.sh` può essere usato per lanciare e fermare il demone. Si trova nella cartella `examples` di recoll (normalmente `/usr/local/[share/]recoll/examples`).

Il lancio del demone è normalmente eseguito come parte della sessione dell'utente. Ad esempio la mia sessione fuori moda xdm ha lo script `.xsession` con le seguenti linne alla fine:

    recollconf=$HOME/.recoll-home
    recolldata=/usr/local/share/recoll
    RECOLL_CONFDIR=$recollconf $recolldata/examples/rclmon.sh start

    fvwm

Viene lanciato prima il demone e poil il window-manager, per il quale la sessione aspetta.

Per default il demone di indicizzazione monitorizza lo stato della sessione X11 ed esce quando questa finisce (non è necessario chiuderlo esplicitamente). Il monitoraggio della sessione X11 può essere disabilitato con l'opzione -x di `recollindex`.

Con KDE, puoi mettere un piccolo script per lanciare `recollindex -m` nella `$HOME/.kde/Autostart`. Verrà eseguito ogni volta che inizia la sessione KDE.

Esiste un meccanismo simile anche per Gnome (trova lo strumento per il controllo della gestione nel menu e usa la linguetta "Startup programs").

Per default, il demone di indicizzazione scrive i suoi messaggiin un file dentro la cartella di configurazione (ciò è controllato dai parametri `daemlogfilename` e `daemloglevel` di configurazione). Puoi naturalmente cambiarli. Il file di log fviene troncato all'avvio del demone. Se il demone è sempre in funzione, il file di log può diventare molto grosso a seconda del livello di log scelto.

Sebbene l'indicizzazione real time sia apprezzabile, può causare un alto carico del sistema, ad esempio se cambiano dati come le e-mail. Probabilmente ti conviene non abilitarla se il tuo sistema è a corto di risorse. L'indicizzazione periodica è sufficente nella maggior parte dei casi.

# Capitolo 3. Ricerca

Il programma `recoll` provvede l'interfaccia paer la ricerca. Utilizza le librerie QT.

## 3.1. Ricerca semplice

1. Lancia il programma `recoll`.

2. Scegli il modo di reicerca: Qualsiasi o Tutti o Nome File.

3. Entra la/e parola/e da cercare nel campo testo nella parte superiore della finestra.

4. Clicca sul bottone Cerca o clicca il tasto Enter per iniziare la ricerca.

Il modo di default iniziale di ricerca è Qualsiasi. Questo cercherà quei documenti che contengano qualsiasi delle parole cercate (ill documento che ne contiene di più avrà maggiore rilevanza). Tutte mostrerà solo quei documenti che contengono tutte le parole cercate. Nome File cerca solo tra i nomi dei files e permette l'uso dei Caratteri Jolly (`*`, `?` , `[]`).

Puoi anche cercare frasi (parole adiacenti in un dato ordine) racchiudendo tra virgolette le parole di ricerca. Ad esempio: `"realtà virtuale"`.

Maiuscole e minuscole non hanno alcuna influenza sulla ricerca, con l'unica eccezione che puoi disabilitare lo stemming (ricerca delle parole che contengono quella data) scrivendo il primo carattere maiuscolo. Ad esempio: la ricerca di `cas`a cercherà anche caso, case, casi, casato, casale, ecc., ma la ricerca di Casa cercherà solo casa, con caratteri maiuscoli o minuscoli (lo stemming può essere disbilitato globalmente nelle preferenze).

Recoll si ricorda gli ultimi termini di ricerca. Per richiamarli puoi usare il combobox della casella di ricerca. Tieni però a mente che vengono ricordate solo le parole, ma non il modo (Qualsiasi, Tutte, Nome file).

I tasti Esc Space mentre si sta scrivendo una parola nella ricerca semplice aprono una finestra con i possibili completamenti della parole. Questi ultimi sono tratti dalle parole esistenti nel database.

Un doppio clic su una parola della lista dei risultati o nella finestra di visualizzazione inserisce la parola stessa nel campo di ricerca semplice.

Puoi usare la voce di menu Strumenti/Ricerca avanzata per aprire la finestra di dialogo per ricerche più complesse.

## 3.2. La lista dei risultati

Lanciata la ricerca verrà immediatamente mostrata nella finestra principale la lista dei risultati.

Per default, i documenti sono presentati in ordine di rilevanza (nel limite in cui il sistema riesce a stimare la rilevanza). Puoi ordinarli in maniera diversa usando la voce di menu Strumenti / Ordina: scegli parametri.

Se clicchi sul link `Preview` di uno dei risultati si pare una finestra di Visualizzaxione interna col testo del documento. Un ulteriore clic sul link Preview di un altro risultato, aprirà una seconda linguetta. Puoi usare Shift+Click per forzare l'apertura di una seconda finestra di visualizzazione che può essere utile per vedere ad esempio due pagine dello stesso documento.

Cliccando sul link `Edit` verrà aperto un visualizzatore esterno (generalmente il programma che ha creato il file). Il programma che deve essere aperto viene configurato attraverso il dialogo di preferenze, oppure editando il file di configurazione mimeview.

I link `Preview` e `Edit` possono non essere presenti per tutti i risultati. Ciò significa che Recoll non ha la configurazione necessaria per la visualizzazione di un determinato tipo di file (che quindi sarà stato indicizzato solo per nome), o non sa con quale programma esterno aprirlo. Spesso ciò può essere sistemato con apposite aggiunte ai files di configurazione `mimemap` e `mimeview` (l'ultimo può essere modificato con la finestra di dialogo delle preferenza).

Cliccando sul link Dettagli ricerca nella parte superiore della finestra di ricerca verrò mostrata la stringa di ricerca utilizzata, dopo l'eventuale applicazione dello stemming e/o di altri processi.

Un doppio clic su qualsiasi parola della finestra di visualizzazione inserice tale parola nel campo di ricerca semplice. Un doppio clic su qualsiasi parola della lista dei risultati avrà lo stesso risultato.

La lsista dei risultati è divisa in pagine (il numero di risultati per pagina può essere impostato nelle preferenze). Passi da una pagina all'altra con i tasti frecce della tastiera oppure col link a fondo pagina della lista dei risultati.

### 3.2.1. Il clic col tasto destro del mouse sulla lista dei risultati

Oltre ai links preview ed edit, puoi ottenere un menu pop-up menu cliccando col tasto destro su di una linea della lista dei risultati. Il menu ha le seguenti voci:

- Preview

- Edita

- Copia il nome del file

- Copia l'Url

- Trova documenti simili

- Apri cartella del documento

Le voci Preview e Edita hanno la stessa funzione dei links corrispondenti.

Le due voci seguenti copiano rispettivamente l'indirizzo e il nome o l'url del file nella clipboard per poterli incollare in un'altra applicazione.

La voce Trova documenti simili seleziona un certo numero di parole rilevanti del documento e le scrive nella casella di ricerca semplice ed effettua la ricerca per trovare documenti correlati con quello di partenza.

La voce Apri cartella del documento apre la cartella ove si trova il documento (il programma per l'apertura della cartella si imposta nei files di configurazione. Di default è Rox).

## 3.3. La finestra di visualizzazione

La finestra di visualizzazione si apre cliccando sul link `Preview` nella lista dei risultati.

Una successiva richiesta di visualizzazione apre una nuova linguetta nella finestra di visualizzazione stessa.

Eseguendo una nuova ricerca e attivando la finestra di visualizzazione, se ne aprirà una seconda mentre la prima resta aperta fintanto che non venga chiusa.

Puoi chiudere una linguetta della finestra di visualizzazione coi tasti ^W (Ctrl + W) sulla finestra. Chiudendo l'ultima linguetta chiudi anche la finestra.

Naturalmente puoi chiudere la linguetta (e la finestra) col bottone Chiudi Tab nella parte superiore della finestra stessa.

Puoi vedere documenti successivi o precedenti della lista dei risultati nella finestra di visualizzazione con i tasti Shift+Down or Shift+Up (dove Down e Up sono i tasti freccia).

La finestra di visualizzazione ha una ricerca interna. Puoi iniziare la ricerca scrivendo una slash (/) all'interno del testo o tramite la casella per la ricerca , immettendo il testo da cercare e premendo il tasto cerca. Puoi usare i tasti Seguente e Precedente per trovare ricorrenze successive o precedenti. Puoi anche usare il tasto F3, all'interno dell'area di testo, per trovare la prossima ricorrenza.

Se hai immesso dei termini di ricerca e usi i tasti ^Up/^Down per passare da un documento all'altro, la ricerca inizia con ogni nuovo documento. Se il termine di ricerca è trovato, il cursore si posiziona sulla prima ricorrenza.

Nessuna parola

- Tutte le parole.

- Qualsiasi parola.

- None of the terms.

- Questa frase (le parole esatte nell'ordine preciso in campi numerata).

- Parole simili (parole in qualsiasi ordine in campi numerati).condizione

- Nome del file con Caratteri Jolly.

Altri campi possono essere creati cliccando sul bottone Aggiungi condizione.

Tutti i campi saranno tra loro combinati con le clausole AND o OR. Tutti i tipi di condizioni, ad eccezione di "Questa frase" e "Parole simili" accettano un insieme di parole singole e frasi (racchiuse tra virgolette). L'espansione (Stemming) viene fatta per tutte le parole che non iniziano con una maiuscola, ma non per le frasi.

La ricerca avanzata permette di cercare tra documenti di un tipo specifico (ad esmpio: solo testo semplice, o testo rtf, o testo`/HTML` o `application/pdf` ecc...). La selzione del tipo di file (mime) può essere salvata come default. (il filtro non sarà attivato al lancio di recoll, ma la lista sarà presente come era stata salvata).

Si può anche restringere la ricerca ad un sotto insieme delle cartelle indicizzate. Se questa è un'opzione che usi spesso, puoi anche pensare a fare diversi indici così da migliorare la performance.

Per iniziare la ricerca clicca sul bottone Cerca o premi Enter in qualsiasi campo di ricerca. Il bottone nella finestra principale esegue sempre e solo una ricerca semplice.

Clicca sul link 'mostra stringa' in alto nella finestra principale per vedere la stringa di ricerca applicata.

## 3.5. Il terminale di esplorazione

Recoll utilizza automaticamente l'espansione dei termini di ricerca ai loro derivati (ad esempio: plurali/singolare, coniugazioni dei verbi). Ma ci sono altri casi in cui l'estto termine di ricerca non è conosciuto. Ad esempio potresti ricordarti la pronincia ma non come il termine viene scritto, oppure conoscere solamente l'inizio della parola da cercare.

Il terminale di esplorazione (lanciato tramite la sua piccola icona nella finestra principale o dal menu 'Strumenti') può essere usato per le ricerche nell'indice del database. Ha tre modi operativi:

Caratteri Jolly

  In questo modo operativo si possono usare stringhe con caratteri jolly (*, ?). ad esempio: `xapi*` .

Espressioni regolari

  In questa modalità sono accettate le espressioni regolari. Esempio: `word[0-9]+` .

Espansione grammaticale

  Questa modalità esegue la normale espansione (stemming). In questo senso è utile per mostrare il suo funzionamento.

Ortografia/Fonetica

  In questa modalità si inserisce il termine come si pensa sia scritto e Recoll farà del suo meglio per trovare termini inseriti nel suo indice che suonino simili. Questa modalità usa Aspell, che quindi deve essere installata sul vostro sistema affinchè le cose funzionino per il verso giusto. La lingua usata nella costruzione del dizionario (cosa che avviene alla fine dell'indicizzazione) è quella di sistema. Cose strane possono accadere se più lingue sono mischiate.

Nota che nel caso Recoll non conosca l'inizio della parola da cercare(ad esempio un carattere jolly come `*asa`), l'espansione può richiedere un certo tempo perchè la ricercaviene fatta sull'indice completo. L'espansione al momento è limitata ai primi 200 risultati nel caso di caratteri jolly o espressioni regolari.

Un doppio clic su di un termine nella lista dei risultati lo inserisce nella casella della ricerca semplice nella finestra principale. Si può naturalmente nche copiare e incollare tra la lista dei risultati e la casella di ricerca.

## 3.6. Database multipli

Database e indici multipli di Recoll dpossono essere creati usando differenti cartelle di configurazione che conterranno di norma differenti indici per differenti aree del file system. Un indice specifico può essere selezionato per aggiornarlo o per effettuare una ricerca usando la variabile di sistema `RECOLL_CONFDIR` oppure lìopzione `-c` di `recoll` e `recollindex`.

Una istanza di `recollindex` può aggiornare o indicizzare solo un indice specifico.

Una istanza di `recoll` è anche associata ad un indice specifico, che è quello che viene aggiornato, ma si possono usare più indici di Recoll per la ricerca. Gli indici esterni possono essere selezionati tramite la linguetta Indici esterni nel dialogo delle preferenze.

La selezione dell'indice viene fatta in due fasi Un set di indici utilizzabili deve essere prima definito, e dopo si può indicare un sotto insieme di indici da usare per la ricerca. Naturalmente questi parametri sono conservati da una esecuzione del programma ad un'altra (sono registrati separatamente per ogni configurazione di Recoll). Il set di tutti gli indici è generalmente fisso, mentre l'indice attivo viene probabilmente cambiato frequentemente.

L'indice principale (definito da `RECOLL_CONFDIR`) è sempre attivo. Se ciò non è desiderabile, puoi far sì che la tua configurazione punti all'indicizzazione di una cartella vuota.

Poichè costruire tutti gli indici può essere noioso se fatto dall'interfaccia grafica si può usare la variabile di sistema `RECOLL_EXTRA_DBS` per costruire il set iniziale. Questo lo fa normalmente l'amministratore del sistema così che non debba farlo ogni utente. La variabile dovrebbe definire una lista separata da due punti delle cartelle da indicizzare. Ad esempio:

    export RECOLL_EXTRA_DBS=/qualche/cartella/xapiandb:/qualche/altra/db

Un tipico scenario d'uso per gli indici multipli per un amministratore potrebbe essere la creazione di un indice di dati comuni su cui tu potresti fare una ricerca e un indice per i tuoi dati personali. Naturalmente ci sono altre possibilità. Ci sono molti casi in cui conosci il sotto insieme di cartelle che devi esaminare per trovare il risultato e quindi , restringendo il campo di ricerca, è possibile aumentare l'efficenza e la precisione della ricerca stessa. Ciò può essere fatto anche con l'opzione che limita le cartelle su cui si effettua la ricerca nella finestra della ricerca avanzata, ma l'indicizzazione multipla può aumentare la performance e valere la pena di essere provata.

## 3.7. Storia dei documenti

I documenti che hai visto col visualizzatore o con un programma esterno sono annotati nello storico dei documenti e quindi ricordati. Puoi vedere la lista dello storico con la voce di menu Strumenti/Storia documenti.

## 3.8. Ordinare il risultato della ricerca

I documenti nella lista dei risultati sono normalmente ordinati in base della loro rilevanza. E' possibile specificare un diverso criterio usano la finestra di dialogo Ordina risultati (localizzata nel menu Strumenti).

Lo strumento ordina un numero di documenti ordinati per rilevanza in base a determinati criteri. I criteri attualmente sono la data e il tipo mime.

La scelta per l'ordinamento resta invariata sino a quando non viene cambiata o il programma non viene chiuso. Il tipo di ordinamento è indicato all'inizio della lista dei risultati.

## 3.9. Consigli per la ricerca, scorciatoie

Completamento della parola. I tasti Esc Spaceifinchè si sta scrivendo una parola nella casella di ricerca semplice completano la stessa se essa è unica nel database, altrimenti aprono una finestra da cui si pppuò scegliere fra le parole suggerite.

Prendere nuove parole dalla lista dei risultati o dalla finestra di visualizzazione. Un doppio clic su una parola nella lista dei risultati o nel testo della finestra di visualizzazionie copia la stessa nella casella di ricerca semplice.

Disabilitare l'espansione (stemming). Scrivendo una parola nella casella di ricerca con la prima lettera maiuscola disabilita l'espansione (nessuna ricerca per casino se hai inserito Casa). Questo è l'unico caso in cui le maiuscole o minuscole hanno importanza nella ricerca. E' anche possibile eliminare l'espansione (stemming) o cambiare la lingua nelle preferenze.

Frasi. Per cercare una frase basta racchiuderla tra virgolette. Esempio: `"user manual"` cercherà per tutte le ricorrenze di 'user' seguito immediatamente da 'manual'. Puoi anche usare il campo 'Questa frase' nel dialogo avanzato di ricerca con lo stesso effetto. Frasi possono essere immesse insieme a parole sia nella casella di ricerca semplice che nelle caselle della ricerca avanzata, con escluione della casell 'Questa frase'.

Scorrere la lista dei risultati nella finestra di visualizzazione (1.5). I tasti Shift-Down o Shift-Up (Shift +una freccia) nella finestra di visualizzazione mostra il documento successivo o precedente della lista dei risultati. Ogni ricerca secondaria attualmente attiva verrà eseguita nel nuovo documento.

Forzare l'apertura di una nuova finestra di visualizzazione (1.6). Con Shift+Click sul link `Preview` di un risultato della lista dei risultati si apre una nuova finestra di visualizzazione invece di una nuova linguetta su quella già visualizzata.

Aggiungi automaticamente frase (1.5). Questa opzione può essere impostata nella finestra di configurazione. Quando è settata sarà costruita automaticamente una frase con le parole della ricerca e aggiunta alla ricerca se è impostata a 'Qualsiasi parola'I. Ciò non cambia radicalmente il risultato della ricerca, ma aumenta la rilevanza per quei documenti dove le parole cercate costituiscono una frase. ad esempio: cercando le parole `virtual reality` saranno comunque trovati tutti i documenti contenenti le parole 'virtual', 'reality' o entrambe, ma in cima alla lista appariranno i documenti, se ci sono, che contengono la frase 'virtual reality.

Trovare documenti simili. Se nel menu che appare cliccando col taso destro nella lista dei risultati si sceglie la voce 'Documenti simili', un numero di parole 'interessanti' contenute nel documento selezionato viene messo nella casella di ricerca semplice e viene avviata una nuova ricerca. In questo modo, eventualmente editando ulteriormente la casella di ricerca semplice, puoi trovare documenti in qualche maniera simili o correlati al primo.

Nome file. Durante l'indicizzazione sono aggiunti anche i nomi dei files. Puoi quindi inserirli come un normale termine di ricerca (Recoll indicizzava tutte le cartelle come termini. Questo però è stato abbandonato non sembrando molto utilel). In alternativa puoi usare l'opzione 'Nome file' e la ricerca avverrà esclusivamente tra i nomi dei files (in tal caso è possibile usare i caratteri jolly).

Stringa di ricerca. Puoi vedere la stringa con cui è stata effettuata la ricerca, incluse le espansioni e gli operatori Booleani, cliccando sul link 'mostra stringa' all'inizio della lista dei risultati.

Chiudere la finestra di visualizzazione. Il tasto ^W in una linguetta, la chiude (e, se questa è l'ultima linguetta, chiude anche la finestra). Il tasto Esc chiude tutte le linguette e la finestra di visualizzazione.

Chiudere il programma. Il tast ^Q quasi dappertutto chiude il programma.

## 3.10. Personalizzare l'interfaccia di ricerca

E' possibile personalizzare alcuni aspetti dell'interfaccia di ricerca usando la voce 'configurazione ricerca' del menu 'Preferenze'.

Ci sono due linguette nella finestra di dialogo che riguardano l'interfaccia stessa e i criteri adottati per la ricerca e la presentazione dei risultati.

Interfaccia utente:

- Numero di risultati per pagina

- Fonts per la lista dei risultati: Ci sono molte informazioni visualizzate nella lista dei risultati e potresti voler personalizzare i caratteri e la loro dimensioneT. I caratteri usati da Recoll sono quelli della tua configurazione di QT(prova il comando `qtconfig)`.

- Stringa di formattazione dei risultati: ti permette di cambiare la presentazione di ciascun risultato nella lista. Usa string del tipo qt-html dove le seguenti sostituzioni, in modo simile al comando printf `%, vengono fatte`:

  - %A. Riassunto

  - %D. Data

  - %K. Parole chiave (se ci sono)

  - %L. links Preview e Edit

  - %M. Tipo Mime

  - %N. Numero del risultato

  - %R. Rilevanza in %

  - %S. Grandezza

  - %T. Titolo

  - %U. Url

  I valori di default value per la stringa sono:

      %R %S %L &nbsp;&nbsp;<b>%T</b><br>
      %M&nbsp;%D&nbsp;&nbsp;&nbsp;<i>%U</i><br>
      %A %K

  Puoi provare, ad esempio, la seguente stringa per una lista più simile all'esperienza del Web:

      <u><b><a href="P%N">%T</a></b></u>&nbsp;%R&nbsp;%D<br>
      %A<font color=#B22C1D>%U - %M - %S</font> - %L

  Il formato dei links Preview e Edit è `<a href="P`docnum`">` and `<a href="E`docnum`">` where `docnum` è quello che %N dovrebbe stampare. Questo rende il titolo nel formato dell'esempio un link per la finestra di visualizzazione.

- Browser HTML: qui puoi scegliere il browser preferito, che verrà avviato col menu 'Aiuto' per leggere il manuale utente. Puoi inserire semplicemente il nome, se il browser è nel tuo path, oppure l'indirizzo completo.

- Mostra le icone nella lista dei risultati: le icone nella lista dei risultati possono essere disabilitate. Portano via molta memoria e tutto sommato non contengono informazioni essenziali.

- Inizia la ricerca quando digiti uno spazio: se lo contrassegni, la ricerca inizia non appena digiti uno spazio nella casella di ricerca. Questo ti permette di vedere i risultati prima di immettere una seconda parola. E' disabilitato per default, che ti piaccia o no...

Parametri di ricerca:

- Lingua per l'espansione grammaticale: l'espansione (stemming) dipende evidentemente dalla lingua. Qui puoi scegliere tra le lingue con cui sono stati costruiti i database di espansione durante l'indicizzazione (questo viene stabilito nel file principale di configurazione), o pià tardi aggiunto col comando `recollindex -s` (Vedi il manuale per recollindex). Le lingue di espansione aggiunte dinamicamente saranno cancellate alla successiva indicizzazione, a meno che non siano aggiunte al file di configurazione principale.

- Costruisci dinamicamente il riassunto: questo decide se Recoll cerca di costruire un riassunto del documento quando lo mostra nella lista dei risultati. I riassunti vengono costruiti prendendo informazioni dal contesto del documento attorno alle parole trovate. Questo può rallentare la visualizzazione della lista dei risultati per grossi documenti e, se vuoi, puoi disabilitarlo.

- Rimpiazza i riassunti esistenti nel documento: questo decide se costruire un riassunto al posto un riassunto già esistente nel documento.

- Numero caratteri per il riassunto: scegli quello che preferisci...

- numero di parole del riassunto per ogni termine nel documento: quante parole devono essere mostrate intorno ad ogni ricorrenza trovata nel documento.

Indici esterni: Questa linguetta ti permette di navigare eventuali altri indici su cui vorresti effettuare la ricerca. Gli indici esterni sono assegnati dalla cartella del loro database (ad esempio: `/home/someothergui/.recoll/xapiandb`, `/usr/local/recollglobal/xapiandb`).

Una volta scelto, l'indice apparirà nella lista 'Tutti gli indici', e puoi scegliere quale usare spstandolo alla/dalla lista 'Indici attivi'.

Il tuo database (quello della configueazione attuale) è sempre implicitamente attivo. Se ciò non è desiderabile, puoi sempre fare una configurazione che indicizzi, ad esempio, una cartella vuota.

# Capitolo 4. Installazione

## 4.1. Installare un pacchetto pre-compilato

L'installazione binaria di Recoll è sempre lincata staticamente alla libreria di xapian , e non ha altre dipendenze. Devi solo eventualmente installare i pacchetti esterni per i tipi di files che vuoi indicizzare diversi da testo, HTML ed e-mail.

### 4.1.1. Installazione con un programma di installazione

Se usi un sistem del tipo BSD o sistemi che usano pacchetti pre-compilati (RPM o altri), segui semplicemente le procedure usuali, e magari dai un'occhiata alla sezione di configurazione (anche se non è necessario per provare il programma con i parametri di default).

### 4.1.2. Installare Recoll pre-compilato

I pacchetti binari sono semplicemente un insieme di cartelle compresse dove solo le parti utili sono conservate (gli esguibili e la configurazione di esempio).

I binari eseguibili sono compilati con un link statico alla libreria libxapian e libiconv, tper rendere l'installazione più semplice(nessuna dipendenza). Questo comunque significa che non potete cambiare le versioni che sono state usate.

Dopo l'estrazione del file tar, procedi con l'installazione come se avessi compilato il tutto da sorgente (ciò significa dare il comando `make install`). L'albero delle cartelle va in `/usr/local`.

Puoi inoltre desiderare di installare le applicazioni esterne necessarie per processare determinati tipi di files (ad esempio: acrobat, postscript ...). Vedi la prossima sessione.

Alla fine, se vuoi, dòà un'occhiata alla sezione di configurazione.

## 4.2. Pacchetti esterni utilizzabili

Recollusa applicazioni esterne per indicizzare alcuni tipi di files. Devi quindi installare quelle necessarie ai tipi di files che vuoi indicizzare (queste sono dipendenze di run-time. Nessuna di queste applicazioni è necessaria per compilare Recoll):

- Openoffice: è supportato nativamente, ma necessita del programma `unzip, che quindi deve essere installato`.

- PDF: pdftotext è parte del pacchetto Xpdf.

- Postscript: pstotext.

- MS Word: antiword.

- MS Excel and PowerPoint: catdoc.

- RTF: unrtf

- dvi: dvips

- djvu: DjVuLibre

- MP3: Recoll usa il comado `id3info` del pacchetto id3lib per estrarre i tag. Senza questo pacchetto, solo i nomi saranno indicizzati.

Text, HTML, cartelle e-mail e files Openoffice sono processati internamente.

## 4.3. Compilare da sorgente

### 4.3.1. Prerequisiti

Come minimo è necessario scaricare e installare il pacchetto xapian core (Recoll attualmente usa la versione 0.attualmente usa le versionidevelopment currently uses version 3.3.5, ma qualsiasi versione 3.3 probabilmente è OK).

Quasi certamente sarete in grado di trovare un pacchetto binario per qt per il vostro sistema, ma probabilmente dovrete compilare Xapian, ma questo non è difficile (se stai usando FreeBSD, c'è un port).

Ti serve anche libiconv. Recoll attualmente usa la versione 1.9 (questo non dovrebbe essere critico). Sui sistemi Linux, l'interfaccia iconv fa parte di libc e quindi non dovrebbe essere necessario fare niente di speciale.

### 4.3.2. Compilazione

Recoll è stato compilato su Linux (redhat7.3, mandriva 2005/6, Fedora Core 3/4/5, Ubuntu Edgy 64bit), FreeBSD e Solaris 8. Se lo compili su un altro sistema, Idesidererei vivamente ricevere eventuali patches.

A seconad della configurazione di qt nel vostro sistema, potreste dover settare le variabili di sistema `QTDIR` e `QMAKESPECS`:

- `QTDIR` dovrebbe puntare alla cartell superiore a quella che contiene i files 'include' di qt (ad esempio: se `qt.h` è in `/usr/local/qt/include/qt.h`, QTDIR dovrebbe essere `/usr/local/qt`).

- `QMAKESPECS` dovrebbe puntare ad una delle sotto-cartelle mkspecs di qt (ad esempio: linux-g++).

Su molti sistemi Linux, `QTDIR` è settata dallo script di login, e `QMAKESPECS` inon è becessaria perchè c'è un link simbolico in `mkspecs/`.

Opzioni per configure: `--without-aspell` disabilita il codice per la ricerca fonetica. `--with-fam` o `--with-inotify` abilita il codice per l'indicizzazione in tempo reale real time indexing. Il supporto inotify è abilitato di default nei sistemi Linux recenti.

Procedura normale:

     cd recoll-xxx
    configure
    make

Piccola auto-configurazione. Lo script di configurazione essenzialmente linca uno dei files specifici del sistema nella cartella mk alla cartella mk/sysconf. Se il vostro sistema non è attualmente conosciuto ve lo dirà e, se volete, potete copiare e modificare manualmente uno dei files esistenti (il nome del file dovrebbe essere il risultato del comando uname -s).

### 4.3.3. Installazione

Dai il comado `make install` oppure esegui `recollinstall `prefix``, nella cartella root. Questo copierà gli eseguibili nella cartella ``prefix`/bin` e gli esempi di configurazione, scripts e altri dati nella cartella ``prefix`/share/recoll`.

Se il prefisso di installazione dato al comando `recollinstall` è differente da quello usato eseguendo il comando configure, dovete settare la variabile di sistema `RECOLL_DATADIR` per indicare dove sono i dati comuni.

Potete poi procedere alla configurazione.

## 4.4. Panoramica della configurazione

La maggior parte dei parametri specifici della GUI di Recoll sono determinati attraverso il menu 'Preferenze'e salvate nlla cartella standard delle applicazion QT (`$HOME/.qt/recollrc`). probabilmnete non hai alcuna necessità di editare tale file.

Per altre opzioni, Recoll usa files di configurazione testuali. Al momento devi editarli a mano (c'è ancora qualche speranza per uno strimento di configurazione grafico in futuro). La più accurata documentazione per i parametri di configurazione si trova nei commenti negli stessi files di default e qui quindi troverai una semplice panoramica.

Ci sono due insiemi di files di configurazione. Quelli per la configurazione generale del sistema si trovano nella cartella `/usr/[local/]share/recoll/examples`, e definiscono i valori di default per tutto il sistema. Un insieme parallelo di files di configurazione esiste nella cartella `.recoll` nella tua cartella home. Questa cartella può essere cambiata con la variabile di sistema `RECOLL_CONFDIR` o con l'opzione -c per `recoll` e `recollindex`.

Se la cartella `.recoll` non esiste, essa viene creata lanciando la prima volta `recoll` o `recollindex`, e viene riempita con un insieme vuoto di files di configurazione. `recoll` vi dà la scelta se editare i files di configurazione prima di iniziare la creazione dell'indice, `recollindex` invece procederà immediatamente.

Tutti ifiles di configurazione hanno lo stesso formato. Ad esempio, un piccolo estratto del file di configurazione principale può essere simile al seguente::

     # Space-separated list of directories to index.
     topdirs = ~/docs /usr/share/doc

     [~/somedirectory-with-utf8-txt-files]
     defaultcharset = utf-8

Ci sono tre specie di linne:

- Commenti (iniziano con #) o sono vuoti.

- Settaggio dei parametri (nome = valore).

- Definizione delle sezioni ([nome di qualche cartella]).

La definizione delle sezioni permette di ridefinire alcuni parametri per le sotto-cartelle. Restano effettivi sinchè viene trovata un'altra definizione di sezione, o si arriva alla fine del file. Alcuni dei parametri usati per l'indicizzazione sono considerati partendo dalla cartella attuale e salendo. Non tutti i parametri possono essere ridefiniti in maniera comprensibile, ma questo sarà spiegato di seguito nella prossima sezione.

La tilde (~) indica l'indirizzo completo della cartella dell'utente.

Spazi vuoti sono usati come separatori nelle liste. Elementi che contengono spazi devono pertanto essere racchiusi tra virgolette.

### 4.4.1. File di configurazione principale

`recoll.conf` è il file di configurazione principale Definisce cosa indicizzareIt (cartella radice e cose da ignorare), e il set di caratteri di default da usare per i documenti che non lo definiscono specificamente al loro interno.

La configurazione di default indicizzerò la vostra cartella home intera. Se questo non va bene lanciate `recoll` per creare un set di configurazione vuoto, cliccate su Cancel, ed editate i files di configurazione prima di lanciare nuovamente recoll (o recollindex). Verrà così iniziata l'indicizzazione, cosa che può richiedere un certo tempo.

Parametri:

`topdirs`

  Specifica la lista di cartelle e/o files da indicizzare (recursivamente per le cartelle). L0indicizzazione non segue eventuali liks simbolici all'interno dell'albero delle cartelle. Se la cartella radice è un link simbolico, l'indicizzazione non inizia e viene mostrato un avviso di errore.

`dbdir`

  E' il nome della cartella Xapian dei dati. La cartella, se necessario, verrà creata all'inizio dell'indicizzazione. Se non è un indirizzo assoluto, verrà interpretato come relativo alla cartella di configurazioneI.

`skippedNames`

  Una lista di cartelle e nomi di files, separati da uno spazio vuoto, di ciò che deve essere completamente ignorato dal processo di indicizzazione. The list defined in La lista di default è:e default file is:

      *~ #* bin CVS Cache caughtspam tmp

  Alla lista possono essere aggiunte sotto-cartelle, che però devono essere nell'albero delle cartelle definite in `topdirs`.

  Le cartelle presenti in `topdirs non risentono di eventuali omonimi in` `skippedNames` (vale a dire che una cartella scritta in `topdirs viene indicizzata comunque, anche se il suo nome compare nella lista di` `skippedNames`).

  La lista della configurazione di default non esclude le cartelle nascoste (nomi preceduti da un punto), il che significa che verranno indicizzte anche alcune cose che non vorreste. D'altra parte i programmi di posta, come thunderbird, normalmente salvano i messaggi in cartelle nascoste e probabilmente volete indicizzarli. Una possibile soluzione è avere `.*` in `skippedNames`, e aggiungere qualcosa come `~/.thunderbird` o `~/.evolution` in `topdirs`.

`loglevel,daemloglevel`

  Livello di verbosità per recoll e recollindex. Un valore di 4 produce molti messaggi di debug/informationi. 2 solo una lista di errori. `Daem`version è specifico al demone che monitorizza l'indicizzazione.

`logfilename, daemlogfilename`

  Dove vanno i messaggi. 'stderr' può essere usato come valore speciale, ed è quello di default.

`filtersdir`

  La cartella ove cercare gli sripts esterni necessari ad indicizzare alcuni tipi di files. Non dovrebbe esserci motivo per cambiarlo, a meno che non vogliate modificare gli script originali mettendoli altrove. Il valore può essere ridefinito per ogni sott-cartella.

`indexstemminglanguages`

  Una lista di lingue per le quali verrà costruito il database per l'espansione grammaticale. Guardate recollindex(1) per possibili valori (man recollindex). Puoi aggiungere un database per qualsiasi lingua usando il comando `recollindex -s`, ma tale database verrà cancellato alla successiva re-indicizzazione Soltanto i database delle ingue listate nella configurazione sono permanenti.

`defaultcharset`

  Nome del set di caratteri usati per files che non hanno una definizione dei caratteri (ad esempio: files plain text). Può essere definito per ogni sub-cartella, se non è dato alcun set di caratteriviene utilizzato quello di sistema (LC_ALL, LC_CTYPE, LANG), or iso8859-1.

`guesscharset`

  Decide se cercare di indovinare il set di caratteri del documanto qualora questo non sia specificato nel documento stesso (ad esempio: files plain text). Ciò non funziona bene in molti casi, e probabilmente non dovrebbe essere usato.

`usesystemfilecommand`

  Decide se usare il comando di sistema `file -i` per determinare il tipo mime del file (la procedura normale usa l'associazione dei suffissi come definiti nel file `mimemap`). Ciò può essere utile per files senza suffisso, ma causa anche l'indicizzazione di molti strani files di "testo".

`indexallfilenames`

  Recoll indicizza i nomi dei files in una speciale sezione del database per permettere le ricerche dei nomi dei files anche con i caratteri jolly Questo parametro decide se indicizzare solo i nomi di files che hanno un suffisso che ne permette l'indicizzazione completa, o se indicizzarli tutti indipendentemente dal suffisso.

`idxabsmlen`

  Recoll salva un riassunto per ogni file indicizzato nel database. Questo è quello che viene mostrato nella lista dei risultati senza dover leggere il file originale. Questo parametro definisce la dimensione del riassunto salvato (che può provenire dall'attuale sezione o dall'inizio del testo). Il valore di default è 250 caratteri.

`iconsdir`

  Il nome della cartella dove si trovano le icone che vengono mostrate nella lista dei risultati. La puoi cambiare se vuoi immagini differenti.

### 4.4.2. Il file mimemap

`mimemap` specifica l'estensione mime del file per la sua mappatura nei tipi mime.

Per i files senza un'estensione o con un'estensione non riconosciuta viene eseguito il comando di sistema `file -i` per determinarne il tipo mime (ciò può essere disbilitato nel file di configurazione).

La mappatura può essere specificata su una base di sotto-cartelle, cosa che può essere utile in certe occasioni. Esempio: i logs di gaim hanno un'estensione `.txt` ma dovrebbero essere trattai diversamente, cosa che è possibile perchè essi generalmente sono posti in ina specifica cartella.

`mimemap` ha anche una variabile `recoll_noindex` che è una lista di suffissi. I files con tali suffissi vengono ignorati (il che evita decompressioni o esecuzioni non necessarie ). Questo è una duplicazione parziale della variabile `skippedNames` inel file di configurazione principale, però con due differenza: non riguarda le cartelle, e non può dipendere dalla locazione nel file system (è un parametro di configurazione generale). Potete quindi fare con `skippedNames` tutto quello che fa `recoll_noindex`. L'ultimo parametro è usato normalmente per cose che si sa non sono indicizzabili con una determinata versione di Recoll. Mettendole in questo file si evita di toccare la variabile `skippedNames` più orientata all'utente e alla localizzazione.

### 4.4.3. Il file mimeconf

`mimeconf` specifica come vengono trattati i vari tipi mime per l'indicizzazione, e quali icone devono essere mostrate nella lista dei risultati di `recoll`.

Cambiare i parametri nella sezione [index] non è probabilmente una buona idea a meno che non siate sviluppatori di Recoll.

La sezione [icons] permette di cambiare le icone che vengono mostrate nella lista dei risultati (i nomi sono quelli delle immagini png, senza suffisso, che si trovano nella cartella `iconsdir` (specificata in `recoll.conf`).

### 4.4.4. Il file mimeview

`mimeview` specifica il programma che deve essere lanciato quando clicchi su Edit nella lista dei risultati. ad esempio: HTML viene normalmente aperto con firefox, ma potresti preferire Konqueror, il programma openoffice.org potrebbe essere chiamato `oofice` invece di `openoffice` etc.

Cambiamenti a questo file possono essere fatti direttamente o attraverso il dialogo 'Preferenze' del programma recoll.

Come tutti gli altri files di configurazione, l'uso normale è avere un `mimeview` nella vostra cartella personale, con solo le voci non di default, che si sovrapporrà a quello centrale per tutto il sistema.

Per favore prendi nota che queste 'entrate' devono essere fatte in una sezione nominata `[view]` section.

### 4.4.5. Esempio

`Esempio:`

pensiamo di aggiungere la possibilità di indicizzare i files con estensione .lyx (file fatti col programma Lyx) in modo da poter avere una visualizzazione corretta degli stessi e di poterli aprire con il programma Lyx quando clicchiamo sul link edit. Dovremo, so già non l'abbiamo, procurarci dal sito di recoll lo script rcllyx necessario per l'indicizzazione dei files .lyx.
Tale script è un file di testo e va messo nella cartella /usr/share/recoll/filters e reso eseguibile.

Vogliamo inoltre poter aprire i file con estensione .kwd e .kwt (flies fatti con Kword) con il polor programma: Kword. (Questi files non potranno essere indicizzate, se non con il loro nome (quindi niente visualizzazione, ma possibilità di apertura degli stessi).

Per prima cosa dobbiamo trovare il tipo mime dato dal sistema ai files di Lyx e di Kword. Troveremo che il tipo per ifiles di Lyx è application/x-lyx mentre per i files di Kword application/x-kword.
(La procedura è molto semplice. Ad esempi con KDE si apre konqueror, il menu impostazioni/associazione caratteri, si mette l'estensione del file nell'apposita casella e si prende nota dell'associazione corrispondente.)
A questo punto possiamo procedere. Di seguito i tre files modificati, dove le linee in neretto si riferiscono ai files Lyx, mentre quello rosse ai files di Kword.
MIMEMAP
# @(#$Id: usermanual-italian.html,v 1.1 2007-02-02 10:05:22 dockes Exp $ (C) 2004 J.F.Dockes
# Recoll: associations of file name extensions to mime types
.txt = text/plain
.text = text/plain
.d = text/plain
.lyx = application/x-lyx
.kwt = application/x-kword
.kwd = application/x-kword
# Source files. Defining them as text/x-c will enable ext viewer. If
# text/plain they will be somewhat indexed
.cpp = text/x-c
.h = text/x-c
.c = text/x-c
.cc = text/x-c
.rtf = text/rtf
.html = text/html
.htm = text/html
.shtml = text/html
.php = text/html
.pdf = application/pdf
.ps = application/postscript
.eps = application/postscript
.ai = application/postscript
.dvi = application/x-dvi
.djvu = image/vnd.djvu
.gz = application/x-gzip
.Z = application/x-gzip
.bz2 = application/x-bzip2
#.Z = application/x-compress
.doc = application/msword
.ppt = application/vnd.ms-powerpoint
.xls = application/vnd.ms-excel
# OpenOffice / opendocument. We handle opendocument as old openoffice files
# for now
.sxc = application/vnd.sun.xml.calc
.ods = application/vnd.sun.xml.calc
.stc = application/vnd.sun.xml.calc.template
.sxd = application/vnd.sun.xml.draw
.std = application/vnd.sun.xml.draw.template
.sxi = application/vnd.sun.xml.impress
.odp = application/vnd.sun.xml.impress
.sti = application/vnd.sun.xml.impress.template
.sxm = application/vnd.sun.xml.math
.sxw = application/vnd.sun.xml.writer
.odt = application/vnd.sun.xml.writer
.sxg = application/vnd.sun.xml.writer.global
.stw = application/vnd.sun.xml.writer.template
.wpd = application/vnd.wordperfect
.rtf = text/rtf
.mp3 = audio/mpeg
.png = image/png
.jpg = image/jpeg
# A list of stuff that we don't want to touch at all (for now). Having the
# suffixes listed in there speeds up things quite a lot by avoiding
# unneeded decompression or 'file' calls. File names still get indexed if
# indexallfilenames is set
recoll_noindex = .tar.gz .tgz .tar.bz2 .tbz .log.gz .md5 .map \
.m4 .tcl .js .sh .pl .awk \
.o .lib .dll .a \
.dat .bak .rdf .log .db .ini .msf .pid \
.gnm .gnumeric .tex \
.gif .bmp .xpm \
,v ~ #
# Special handling of .txt files inside ~/.gaim directory
[~/.gaim]
.txt = text/x-gaim-log
MIMECONF
# @(#$Id: usermanual-italian.html,v 1.1 2007-02-02 10:05:22 dockes Exp $ (C) 2004 J.F.Dockes
# Recoll : associations of mime types to processing filters.
# There are different sections for decompression, 'interning' for indexing
# and preview, and external viewers
## #######################################
# Decompression: these types need a first pass to create a temp file to
# work with. We use a script because uncompress utilities usually work in
# place, which is not suitable.
#
# The %t parameter will be substituted to the name of a temporary directory
# by recoll. This directory is guaranteed empty when calling the filter
#
# The %f parameter will be substituted with the input file.
#
# The script (ie: rcluncomp) must output the uncompressed file name on
# stdout.
application/x-gzip = uncompress rcluncomp gunzip %f %t
application/x-compress = uncompress rcluncomp gunzip %f %t
application/x-bzip2 = uncompress rcluncomp bunzip2 %f %t
## ###################################
# Filters for indexing and internal preview.
# The external (exec) filters output the document in simple html format,
# have a look at the scripts.
[index]
application/msword = exec rcldoc
application/pdf = exec rclpdf
application/postscript = exec rclps
application/vnd.ms-powerpoint = exec rclppt
application/vnd.ms-excel = exec rclxls
application/vnd.sun.xml.calc = exec rclsoff
application/vnd.sun.xml.calc.template = exec rclsoff
application/vnd.sun.xml.draw = exec rclsoff
application/vnd.sun.xml.draw.template = exec rclsoff
application/vnd.sun.xml.impress = exec rclsoff
application/vnd.sun.xml.impress.template = exec rclsoff
application/vnd.sun.xml.math = exec rclsoff
application/vnd.sun.xml.writer = exec rclsoff
application/vnd.sun.xml.writer.global = exec rclsoff
application/vnd.sun.xml.writer.template = exec rclsoff
application/x-dvi = exec rcldvi
audio/mpeg = exec rclmedia
image/vnd.djvu = exec rcldjvu
message/rfc822 = internal
text/html = internal
text/plain = internal
text/rtf = exec rclrtf
text/x-gaim-log = exec rclgaim
text/x-mail = internal
application/x-lyx = exec rcllyx
## #############################################
# Icons to be used in the result list if required by gui config
[icons]
application/msword = wordprocessing
application/pdf = pdf
application/postscript = postscript
application/vnd.ms-excel = spreadsheet
application/vnd.ms-powerpoint = presentation
application/vnd.sun.xml.calc = spreadsheet
application/vnd.sun.xml.calc.template = spreadsheet
application/vnd.sun.xml.draw = drawing
application/vnd.sun.xml.draw.template = drawing
application/vnd.sun.xml.impress = presentation
application/vnd.sun.xml.impress.template = presentation
application/vnd.sun.xml.writer = wordprocessing
application/vnd.sun.xml.writer.global = wordprocessing
application/vnd.sun.xml.writer.template = wordprocessing
application/x-fsdirectory = folder
application/x-dvi = document
audio/mpeg = sownd
image/jpeg = image
image/png = image
image/vnd.djvu = document
message/rfc822 = message
text/html = html
text/plain = txt
text/x-mail = message
text/x-c = source
application/x-lyx = wordprocessing
application/x-kword = wordprocessing
[categories]
texts = application/msword \
application/pdf \
application/postscript \
application/vnd.sun.xml.writer \
application/vnd.sun.xml.writer.global \
application/vnd.sun.xml.writer.template \
application/x-dvi \
image/vnd.djvu \
text/html \
text/plain \
application/x-lyx \
application/x-kword \
text/rtf
spreadsheets = application/vnd.ms-excel \
application/vnd.sun.xml.calc \
application/vnd.sun.xml.calc.template
presentations = application/vnd.ms-powerpoint \
application/vnd.sun.xml.impress \
application/vnd.sun.xml.impress.template
media = audio/mpeg \
image/jpeg \
image/png \
messages = message/rfc822 \
text/x-gaim-log \
text/x-mail \
other = application/vnd.sun.xml.draw \
application/vnd.sun.xml.draw.template \
application/vnd.sun.xml.math \
application/x-fsdirectory
MIMEVIEW
# @(#$Id: mimeview,v 1.2 2006/12/19 08:40:50 dockes Exp $ (C) 2004 J.F.Dockes
## ##########################################
# External viewers, launched by the recoll GUI when you click on a result
# 'edit' link
[view]
application/msword = openoffice %f
application/pdf = kpdf %f
application/postscript = gv %f
application/vnd.ms-excel = openoffice %f
application/vnd.ms-powerpoint = openoffice %f
application/vnd.sun.xml.calc = openoffice %f
application/vnd.sun.xml.calc.template = openoffice %f
application/vnd.sun.xml.draw = openoffice %f
application/vnd.sun.xml.draw.template = openoffice %f
application/vnd.sun.xml.impress = openoffice %f
application/vnd.sun.xml.impress.template = openoffice %f
application/vnd.sun.xml.math = openoffice %f
application/vnd.sun.xml.writer = openoffice %f
application/vnd.sun.xml.writer.global = openoffice %f
application/vnd.sun.xml.writer.template = openoffice %f
application/x-fsdirectory = rox %f
application/x-dvi = xdvi %f
audio/mpeg = xmms %f
image/jpeg = gimp %f
image/png = gimp %f
image/vnd.djvu = djview %f
# Or firefox -remote "openFile(%u)"
text/html = konqueror %u
application/x-lyx = lyx %f
application/x-kword = kword %f