Este repositorio contiene diccionarios Bulgarian ispell ( affix y dict ) y de stopword para la búsqueda de texto completo en PostgreSQL.
Los archivos del diccionario ispell ( bulgarian.affix y bulgarian.dict ) han sido creados por el proyecto BGOffice/бис para su uso en OpenOffice y tienen licencia bajo LGPL 3.0.
Este repositorio contiene una versión modificada de esos archivos (cambios menores) para que sean compatibles con el formato esperado por PostgreSQL. Los archivos ispell originales ( bulgarian.aff y bulgarian.dic ) se pueden descargar desde http://bgoffice.sourceforge.net/ispell/index.html
La lista Stop Words utilizada en este repositorio ( bulgarian.stop ) es una versión modificada de la lista publicada en el artículo "Estrategias de búsqueda para el idioma búlgaro" (la lista está en la Tabla A.1) del Prof. Jacques Savoy.
Copie los tres archivos bulgarian.affix , bulgarian.dict y bulgarian.stop a su $SHAREDIR/tsearch_data/ directorio (por ejemplo, C:Program FilesPostgreSQL12sharetsearch_data ). Puede determinar cuál es su $SHAREDIR ejecutando pg_config --sharedir .
Ejecutar el siguiente script SQL:
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;
Asegúrese de que funcione ejecutando una consulta de búsqueda de texto completo.
Una consulta como esta:
SELECT to_tsvector('bulgarian', 'текстовете');
Debería emitir solo la base de la palabra ( текст ):
`"'текст':1"`