Usando Xapian è possibile aumentare drasticamente le prestazioni della ricerca all'interno di moin e utilizzare molte nuove caratteristiche non disponibili con il vecchio sistema di ricerca.
Configurazione
Requisiti
È necessario avere Xapian e i binding Python (xapian-core e xapian-bindings) da http://www.xapian.org/ almeno alla versione 1.0.0.
Per elaborare i file allegati, moin utilizza i plgu-in filtro. Questo è un elenco dei plug-in disponibili:
Tipo file |
Dipendenza |
Note |
File di testo (.txt) |
- |
Prova le codifiche utf-8 e iso-8859-15, altrimenti forza ASCII se le altre non funzionano |
Immagini JPEG (.jpg) |
- |
Vengono estratti i dati EXIF |
File Open Office (.sx?) |
- |
Dalle versioni vecchie di OpenOffice.org/StarOffice |
File Open Document (.od?) |
- |
Dalle versioni recenti di OpenOffice.org/StarOffice |
File binari |
- |
Utilizza una stringa come filtro e anche una blacklist con file da non includere nella ricerca |
File MS Word (.doc) |
antiword |
Il filtro invoca antiword |
File MS Excel (.xls) |
catdoc |
Il filtro invoca xls2csv |
File PDF (.pdf) |
xpdf-utils |
Il filtro invoca pdttotext |
Dopo aver installato ulteriori filtri (o dipendenze) è raccomandato (ri)creare l'indice. Xapian troverà i nuovi filtri automaticamente. Alla successiva ricerca i risultati dovrebbero contenere collegamenti diretti agli allegati.
Configurazione
Nel file di configurazione del wiki sono disponibili diverse opzioni per la configurazione di Xapian:
Xapian search
Configuration of the Xapian based indexed search, see HelpOnXapian.
Variable name | Default | Description |
xapian_index_dir | None | Directory where the Xapian search index is stored (None = auto-configure wiki local storage) |
xapian_index_history | False | True to enable indexing of non-current page revisions. |
xapian_search | False | True to enable the fast, indexed search (based on the Xapian search library) |
xapian_stemming | False | True to enable Xapian word stemmer usage for indexing / searching. |
xapian_search (predefinito: False)
Impostando a True, abilita la ricerca con Xapian.
Moin disabilita automaticamente xapian_search (e passa alla vecchia ricerca) se non trova un indice utilizzabile. È possibile vedere se viene usato Xapian nelle InformazioniSulSistema.
xapian_index_history (predefinito: False)
Se questa opzione è abilitata, le revisioni di tutte le pagine (eccetto underlay di cui è disponibile solo una revisione) vengono indicizzate. Questo consente agli utenti di eseguire ricerche nelle vecchie revisioni delle pagine nel dialogo di ricerca o in CercaPagina.
Se viene modificata questa opzione è necessario ricreare l'indice. Controllare anche la dimensione dell'indice dopo la creazione, dato che questa caratteristica può consumare molto spazio su disco. La creazione dell'indice può durare a lungo se l'indicizzazione della cronologia è abilitata.
xapian_index_dir (predefinito: None)
Questa opzione consente di specificare una directory separata in cui salvare l'indice; inizialmente viene salvato in data_dir/cache/xapian/. Inoltre, se questa opzione è utilizzata, qualsiasi wiki all'interno di una wikifarm avrà il proprio indice identificato dal proprio nome wiki (wikiname) a differenza di una configurazione standard. Impostare questa opzione se viene eseguita una wikifarm.
Non dimenticarsi di (ri)creare l'indice dopo averla abilitata!
xapian_stemming (predefinito: False)
Se abilitata, le parole verranno indicizzate nella loro forma canonica e in base al loro lemma. Questo significa che eseguire una ricerca per "provare" porterà risultati anche per le parole "provato", "prova", etc.
Abilitando/Disabilitando questa opzione è necessario ricreare completamente l'indice!
(Ri)Creare l'indice
È possibile utilizzare lo strumento a riga di comando moin per creare l'indice, ricrearlo completamente o aggiornarne uno già esistente.
Per creare l'indice per la prima volta, eseguire alla riga di comando:
moin --config-dir=/percorso/alla/directory/di/configurazione --wiki-url=wiki-url/ index build --mode=add
È possibile controllare lo stato di Xapian e il suo indice in InformazioniSulSistema.
Inoltre, possono essere usate le seguenti modalità con il comando precedente per controllare la creazione dell'indice:
add
- Gli oggetti vengono aggiunti senza controllare se sono già presenti. Usare solamente se non si dispone già di un indice.
rebuild
Prima di usare la modalità add, questa opzione cancella l'indice precedente (se esiste).
update
- Aggiorna tutte le pagine nell'indice in base alla data di ultima modifica.
Non è necessario invocare periodicamente il comando con questa opzione, dato che le pagine nell'indice vengono aggiornate quando sono modificate. Dovrebbe essere usato solo per eseguire il debug se le pagine nell'indice non sono aggiornate.
- Aggiorna tutte le pagine nell'indice in base alla data di ultima modifica.
Notare che è necessario ricreare l'indice se viene modificata almeno una delle opzioni xapian_index_history, xapian_index_dir o xapian_stemming!
Prova
È possibile verificare se Xapian è abilitato ed è presente un indice valido controllando le InformazioniSulSistema. Per controllare se le ricerche vengono eseguite utilizzando Xapian, abilitare show_timings nella configurazione del wiki, eseguire una ricerca e controllare la presenza di _xapianSearch in fondo alla pagina.
Uso
Xapian è praticamente usato allo stesso modo degli altri motori di ricerca. Date le caratteristiche avanzate di Xapian, sono stati introdotti nuovi prefissi per le ricerche, non ancora disponibili nel vecchio motore di ricerca. Per maggiori informazioni consultare AiutoSuRicerche e/o usare il dialogo di ricerca in CercaPagina.