Documentation PostgreSQL 12.22 » Annexes » Modules supplémentaires fournis » dict_int
Précédent Niveau supérieur Suivant
dblink_build_sql_update Sommaire F.12. dict_xsyn

F.11. dict_int

F.11.1. Configuration
F.11.2. Utilisation

dict_int est un exemple de modèle de dictionnaire pour la recherche plein texte. La création de ce dictionnaire à été motivée par la volonté de pouvoir contrôler l'indexage d'entiers (signés et non signés), pour permettre à de tels nombres d'être indexés sans grossissement excessif du nombre de mots uniques, ce qui affecte grandement la performance de la recherche.

F.11.1. Configuration

Le dictionnaire accepte deux options :

  • le paramètre maxlen indique le nombre maximum de chiffres autorisés dans un mot de type entier. La valeur par défaut est 6 ;

  • Le paramètre rejectlong précise si un entier trop long doit être tronqué ou ignoré. Si rejectlong vaut false (valeur par défaut), le dictionnaire renvoie les maxlen premiers chiffres de l'entier. Si rejectlong vaut true, le dictionnaire traite l'entier comme un terme courant, l'entier n'est donc pas indexé. Cela signifie aussi qu'un tel nombre ne peut pas être recherché.

F.11.2. Utilisation

Installer l'extension dict_int crée un modèle de recherche plein texte intdict_template et un dictionnaire intdict basé sur ce dernier avec les paramètres par défaut. Les paramètres peuvent être modifiés, par exemple :

mabase# ALTER TEXT SEARCH DICTIONARY intdict (MAXLEN = 4, REJECTLONG = true);
ALTER TEXT SEARCH DICTIONARY
 

ou créez de nouveaux dictionnaires à partir du modèle.

Pour tester le dictionnaire :

mydb# select ts_lexize('intdict', '12345678');
 ts_lexize
-----------
 {123456}
 

mais une utilisation réelle nécessite de l'inclure dans une configuration de recherche plein texte comme celle décrite dans Chapitre 12. Cela peut ressembler à ceci :

ALTER TEXT SEARCH CONFIGURATION english
 ALTER MAPPING FOR int, uint WITH intdict;
 

AltStyle によって変換されたページ (->オリジナル) /