Este repositório contém ispell búlgaros ( affix e dict ) e dicionários de stopword para pesquisa de texto completo no PostgreSQL.
Os arquivos de dicionário ispell ( bulgarian.affix e bulgarian.dict ) foram criados pelo projeto BGOFFICE/б оииgl para uso no OpenOffice e são licenciados no LGPL 3.0.
Este repositório contém uma versão modificada desses arquivos (pequenas alterações) para torná -los compatíveis com o formato esperado pelo PostgreSQL. Os arquivos ispell originais ( bulgarian.aff e bulgarian.dic ) podem ser baixados em http://bgoffice.sourceforge.net/ispell/index.html
A lista de palavras de parada usada neste repositório ( bulgarian.stop ) é uma versão modificada da lista publicada no artigo "Estratégias de pesquisa para o idioma búlgaro" (a lista está na Tabela A.1) pelo Prof. Jacques Savoy.
Copie os três arquivos bulgarian.affix , bulgarian.dict e bulgarian.stop para o seu $SHAREDIR/tsearch_data/ diretório (por exemplo, C:Program FilesPostgreSQL12sharetsearch_data ). Você pode determinar qual é o seu $SHAREDIR executando pg_config --sharedir .
Execute o seguinte 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;
Verifique se está funcionando executando uma consulta completa de pesquisa de texto.
Uma consulta como esta:
SELECT to_tsvector('bulgarian', 'текстовете');
deve gerar somente a base da palavra ( текст ):
`"'текст':1"`