Extensions
- italian_fts 1.2.1
- Italian full-text search dictionary
Documentation
- LEGGIMI
- Dizionario per la Ricerca di Testo in Italiano
README
Contents
Italian Full-Text Search Dictionary
Author: | Daniele Varrazzo |
---|---|
Contact: | piro (at) develer.com |
Organization: | Develer S.r.l. |
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 |
Abstract
This package provides an ISpell dictionary to perform high quality full text search in Italian documents using the PostgreSQL database.
Using the provided dictionary, search operations in Italian documents can keep into account morphological variations of Italian words, such as verb conjugations.
Package description
This package contains an ISpell dictionary useful to perfrom high quality full-text searches in Italian language documents. The package also contains installation and configuration files.
Prerequisites
This package can be used to install and configure the ISpell dictionary in PostgreSQL 8.3 and later.
Package installation
Use the command:
sudo make install
to install the dictionary files in the target directories. The command will use the first pg_config found on the PATH to read the database configuration: to install the dictionary in a different database you can use the PG_CONFIG variable:
sudo make PG_CONFIG=/path/to/pg_config install
With PostgreSQL versions older than 9.1 you can install the dictionary in a database with the command:
psql -f $(pg_config --sharedir)/italian_fts/italian_fts.sql dbname
The same directory also contains an uninstall script.
With PostgreSQL 9.1 you can use the extensions management commands to install the dictionary:
CREATE EXTENSION italian_fts;
Dictionary usage
The extension creates a text search dictionary italian_ispell and a text search configuration also called italian_ispell using the dictionary as a default and falling back to the Snowball stemmer italian_stem (installed by default by PostgreSQL) when a word is not found. Here is a result of the process of a sample text with the italian_ispell configuration:
=# 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)
For general usage of the full-text search features in PostgreSQL please refer to the database documentation.