Contents
Dizionario per la Ricerca di Testo in Italiano
| Autore: | Daniele Varrazzo |
|---|---|
| Contatto: | piro (alla) develer.com |
| Organizzazione: | Develer S.r.l. |
| Riassunto: | Questo package fornisce un dizionario ISpell per effettuare ricerche full-text di alta qualità in documenti in italiano utilizzando il database PostgreSQL. La ricerca tiene in considerazione le variazioni caratteristiche della lingua italiana per restituire i documenti corrispondenti ai criteri di ricerca, ad esempio le diverse coniugazioni verbali. |
| Copyright: | 2001, 2002 Gianluca Turconi |
| Copyright: | 2002, 2003, 2004 Gianluca Turconi and Davide Prina |
| Copyright: | 2004, 2005, 2006 Davide Prina |
| Copyright: | 2007-2011 Daniele Varrazzo |
Informazioni sul pacchetto
Questo pacchetto contiene il dizionario ISpell per effettuare ricerche full-text di buona qualità su documenti in lingua italiana. Il pacchetto include anche i file di installazione e configurazione del dizionario.
Prerequisiti
Il pacchetto è adatto all'installazione in database PostgreSQL versione 8.3 e successive.
Installazione del pacchetto
Usa il comando:
sudo make install
per installare i file del dizionario nelle directory di destinazione. Questo comando utilizza il primo pg_config trovato nel PATH per leggere la configurazione del database. Se vuoi specificare un diverso database puoi usare la variabile PG_CONFIG per indicare un diverso programma:
sudo make PG_CONFIG=/path/to/pg_config install
Per installare il dizionario in un database PostgreSQL con versione precedente alla 9.1 puoi utilizzare il comando:
psql -f $(pg_config --sharedir)/italian_fts/italian_fts.sql nomedb
La stessa directory contiene anche un file di disinstallazione.
In PostgreSQL 9.1 invece puoi usare i comandi di gestione delle estensioni per installare il dizionario:
CREATE EXTENSION italian_fts;
Uso del dizionario
L'estensione crea un dizionario text search italian_ispell e una configurazione text search dallo stesso nome, che usa il dizionario come default e ricade sullo stemmer Snowball italian_stem per le parole non riconosciute. Questo è il risultato dell'elaborazione di un testo di esempio con la configurazione italian_ispell:
=# select token, dictionary, lexemes
from ts_debug('italian_ispell', $$
Né più mai toccherò le sacre sponde
ove il mio corpo fanciulletto giacque,
Zacinto mia, che te specchi nell'onde
del greco mar da cui vergine nacque
...
$$)
where array_upper(lexemes,1) <> 0;
token | dictionary | lexemes
--------------+----------------+----------------
più | italian_ispell | {più}
mai | italian_ispell | {mai}
toccherò | italian_ispell | {toccare}
sacre | italian_ispell | {sacro}
sponde | italian_ispell | {sponda}
ove | italian_ispell | {ove}
corpo | italian_ispell | {corpo}
fanciulletto | italian_ispell | {fanciulletto}
giacque | italian_ispell | {giacere}
Zacinto | italian_stem | {zacint}
specchi | italian_ispell | {specchiare}
onde | italian_ispell | {onda}
greco | italian_ispell | {greco}
mar | italian_ispell | {mare}
vergine | italian_ispell | {vergine}
nacque | italian_ispell | {nascere}
(16 rows)
Per informazioni generali sulla ricerca full-text in PostgreSQL potete leggere la documentazione del database.