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.