Ce référentiel contient des dictionnaires bulgares ispell ( affix et dict ) et stopword pour la recherche de texte intégral dans PostgreSQL.
Les fichiers du dictionnaire ispell ( bulgarian.affix et bulgarian.dict ) ont été créés par le projet BGOffice / б о и pour une utilisation dans OpenOffice et sont concédés sous licence en vertu de LGPL 3.0.
Ce référentiel contient une version modifiée de ces fichiers (modifications mineures) pour les rendre compatibles avec le format attendu par PostgreSQL. Les fichiers ispell originaux ( bulgarian.aff et bulgarian.dic ) peuvent être téléchargés à partir de http://bgoffice.sourceforge.net/ispell/index.html
La liste des mots d'arrêt utilisée dans ce référentiel ( bulgarian.stop ) est une version modifiée de la liste publiée dans l'article "Recherche des stratégies pour la langue bulgare" (la liste est dans le tableau A.1) par le professeur Jacques Savoy.
Copiez les trois fichiers bulgarian.affix , bulgarian.dict et bulgarian.stop sur votre $SHAREDIR/tsearch_data/ répertoire (par exemple C:Program FilesPostgreSQL12sharetsearch_data ). Vous pouvez déterminer ce que votre $SHAREDIR est en exécutant pg_config --sharedir .
Exécuter le script SQL suivant:
CREATE TEXT SEARCH CONFIGURATION bulgarian (COPY = simple);
CREATE TEXT SEARCH DICTIONARY bulgarian_ispell (
TEMPLATE = ispell,
DictFile = bulgarian,
AffFile = bulgarian,
StopWords = bulgarian
);
CREATE TEXT SEARCH DICTIONARY bulgarian_simple (
TEMPLATE = pg_catalog.simple,
STOPWORDS = bulgarian
);
ALTER TEXT SEARCH CONFIGURATION bulgarian ALTER MAPPING FOR asciiword, asciihword, hword, hword_part, word WITH bulgarian_ispell, bulgarian_simple;
Assurez-vous qu'il fonctionne en exécutant une requête de recherche de texte intégral.
Une question comme celle-ci:
SELECT to_tsvector('bulgarian', 'текстовете');
ne devrait sortir que la base du mot ( текст ):
`"'текст':1"`