Questo è il comando mu-index che può essere eseguito nel provider di hosting gratuito OnWorks utilizzando una delle nostre molteplici workstation online gratuite come Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS
PROGRAMMA:
NOME
mu_index - indicizza i messaggi di posta elettronica archiviati in Maildirs
SINOSSI
mu Index [opzioni]
DESCRIZIONE
mu Index Europe è mu comando per la scansione del contenuto delle directory Maildir e l'archiviazione
i risultati in un database Xapian. I dati possono quindi essere interrogati utilizzando mu-trovare(1)
Index comprende Maildirs come definito da Daniel Bernstein per qmail(7). Inoltre, è
comprende Maildirs ricorsive (Maildirs all'interno di Maildirs), Maildir++. Può anche trattare
con Maildir basate su VFAT che usano '!' come separatori invece di ':' come usato da
Posta minuscola/Modesto e altri programmi di posta elettronica.
Messaggi di posta elettronica che non sono memorizzati in qualcosa di simile a una directory foglia maildir (culo
e nuovi) vengono ignorati, così come le directory della cache per non tanto e gnu.
I collegamenti simbolici non vengono seguiti.
Se c'è un file chiamato .noindex in una directory, il contenuto di quella directory e tutto
delle sue sottodirectory verranno ignorate. Questo può essere utile per escludere determinate directory
dal processo di indicizzazione, ad esempio directory con messaggi di spam.
Se c'è un file chiamato .nessun aggiornamento in una directory, il contenuto di quella directory e tutto
delle sue sottodirectory verranno ignorate, a meno che non eseguiamo una ricostruzione completa (con --ricostruire). Questo
può essere utile per velocizzare le cose che hai alcune maildir che non cambiano mai. Nota che tu
può ancora cercare questi messaggi, questo riguarda solo l'aggiornamento del database.
La prima esecuzione di mu Index potrebbero volerci alcuni minuti se hai molta posta (decine di
migliaia di messaggi). Fortunatamente, una tale scansione completa deve essere eseguita solo una volta; dopo
che è sufficiente indicizzare i cambiamenti, che va molto più veloce. Vedi la "Nota su"
prestazioni' di seguito per ulteriori informazioni.
La 'fase due' facoltativa del processo di indicizzazione è la rimozione dei messaggi dal
database per il quale non esiste più un file corrispondente nella Maildir. Se non
vuoi questo, puoi usare -n, --nessuna pulizia.
Quando mu Index prende uno dei segnali SIGINT, SIGILLO or TERMINE (ad esempio, quando si preme
Ctrl-C durante il processo di indicizzazione), tenta di chiudersi con garbo; prova a salvare e
eseguire il commit dei dati e chiudere il database ecc. Se riceve un altro segnale (ad esempio, quando
premendo Ctrl-C ancora una volta), mu Index terminerà immediatamente.
VERSIONI
Nota, alcune delle opzioni generali sono descritte nel mu(1) man-page e non qui, come
si applicano a più comandi mu.
-m, --maildir=
inizia a cercare su . Di default, mu usa qualunque cosa MAILDIR Industria XNUMX
la variabile è impostata su; se non è impostato, prova ~/indir. Vedi la nota sulla miscelazione
sub-maildir di seguito.
--il mio indirizzo=
specifica che alcuni indirizzi e-mail sono 'mio-indirizzo' (--il mio indirizzo può essere utilizzata
più volte). Questo è usato da mu ctrova -- qualsiasi indirizzo e-mail trovato nel
campi indirizzo di un messaggio che ha anche in uno dei suoi indirizzi
i campi sono considerati a cronologia indirizzo email. Questo ti permette, ad esempio, di
filtrare (mu ctrova --personale) indirizzi che sono stati semplicemente visti nella mailing list
messaggi.
--nessuna pulizia
disabilita la pulizia del database che mu fa per impostazione predefinita dopo l'indicizzazione.
--ricostruire
cancellare tutti i messaggi dal database prima dell'indicizzazione. --ricostruire garantisce che
dopo che l'indicizzazione è terminata, non ci sono "vecchi" messaggi nel database
più, il che non è vero con --reindicizza quando si indicizza solo una parte dei messaggi
(usando --maildir). Per questo motivo è necessario eseguire mu Index --ricostruire quando
c'è un aggiornamento nel formato del database. mu Index emetterà un avviso su
Questo.
--aggiornamento automatico
utilizzare automaticamente -y, --vuoto quando mu nota che la versione del database non è aggiornata-
ad oggi. Questa opzione è per l'uso negli script cron e simili, quindi non richiedono
qualsiasi interazione con l'utente, anche quando mu introduce una nuova versione del database.
--xdimensione batch=<lotto dimensione>
imposta il numero massimo di messaggi da elaborare in una singola transazione Xapian. In
pratica, questa opzione è utile solo se lo trovi mu sta finendo la memoria
durante l'indicizzazione; in tal caso, puoi impostare la dimensione del batch su (ad esempio) 1000,
che ridurrà il consumo di memoria, ma ridurrà anche sostanzialmente l'indicizzazione
e le prestazioni.
--max-dimensione-msg=<massimo msg dimensione>
imposta la dimensione massima (in byte) per i messaggi. Il valore massimo predefinito (attualmente a
50Mb) dovrebbe essere sufficiente nella maggior parte dei casi, ma se incontri avvisi da mu informazioni
ignorando il messaggio perché sono troppo grandi, potresti voler aumentare questo. Nota
che la ragione per avere una dimensione massima è che un grande messaggio richiede una grande memoria
allocazioni, che possono creare problemi.
NOTA: Non è consigliabile mischiare maildir e sub-maildir all'interno della gerarchia
nella stessa banca dati; ad esempio, è meglio non indicizzare entrambi con
--maildir=~/MyMaildir e --maildir=~/MyMaildir/pippo, in quanto ciò potrebbe portare a imprevisti
risultati durante la ricerca con il parametro di ricerca 'maildir:' (vedi sotto).
A Nota on performance (I)
Come benchmark non scientifico, un semplice test sulla macchina dell'autore (un Thinkpad X61s
laptop che utilizza Linux 2.6.35 e un file system ext3) senza database esistente e a
maildir con 27273 messaggi:
$ sudo sh -c 'sync && echo 3 > /proc/sys/vm/drop_caches'
$ time mu index --silenzioso
66,65s utente 6,05s sistema 27% cpu 4:24,20 totale
(circa 103 messaggi al secondo)
Una seconda esecuzione, che è il caso d'uso più tipico quando esiste già un database, va
più veloce:
$ sudo sh -c 'sync && echo 3 > /proc/sys/vm/drop_caches'
$ time mu index --silenzioso
0,48s utente 0,76s sistema 10% cpu 11,796 totale
(più di 56818 messaggi al secondo)
Nota che ogni test svuota prima le cache; un caso d'uso più comune potrebbe essere eseguire mu
Index quando è arrivata nuova posta; la cache potrebbe rimanere abbastanza "calda" in tal caso:
$ time mu index --silenzioso
0,33s utente 0,40s sistema 80% cpu 0,905 totale
che è più di 30000 messaggi al secondo.
A Nota on performance (Ii)
A giugno 2012, abbiamo fatto lo stesso benchmark non scientifico, questa volta con un Intel)
i5-2500 CPU @ 3.30GHz, un file system ext4 e una maildir con 22589 messaggi.
$ sudo sh -c 'sync && echo 3 > /proc/sys/vm/drop_caches'
$ time mu index --silenzioso
27,79s utente 2,17s sistema 48% cpu 1:01,47 totale
(circa 813 messaggi al secondo)
Una seconda esecuzione, che è il caso d'uso più tipico quando esiste già un database, va
più veloce:
$ sudo sh -c 'sync && echo 3 > /proc/sys/vm/drop_caches'
$ time mu index --silenzioso
0,13s utente 0,30s sistema 19% cpu 2,162 totale
(più di 173000 messaggi al secondo)
In generale, il mu è diventato più veloce con ogni versione, anche con relativamente costosi
nuove funzionalità come la normalizzazione del testo (per la corrispondenza senza distinzione tra maiuscole e minuscole/insensibile all'accento).
I profili sono ora dominati dalle operazioni nel database Xapian.
Usa mu-index online utilizzando i servizi onworks.net