يحتوي هذا المستودع على ispell البلغاري ( affix dict ) وقواميس الكلمات stopword للبحث عن النص الكامل في postgreSQL.
تم إنشاء ملفات قاموس ispell ( bulgarian.affix و bulgarian.dict ) بواسطة مشروع BGoffice/б оис للاستخدام في OpenOffice ومرخص لهم بموجب LGPL 3.0.
يحتوي هذا المستودع على نسخة معدلة من تلك الملفات (التغييرات الطفيفة) لجعلها متوافقة مع التنسيق المتوقع بواسطة postgreSQL. يمكن تنزيل ملفات ispell الأصلية ( bulgarian.aff و bulgarian.dic ) من http://bgoffice.sourceforge.net/ispell/index.html
قائمة كلمات التوقف المستخدمة في هذا المستودع ( bulgarian.stop ) هي نسخة معدلة من القائمة المنشورة في مقالة "استراتيجيات البحث عن اللغة البلغارية" (القائمة في الجدول A.1) من قبل البروفيسور جاك سافوي.
انسخ الملفات الثلاثة bulgarian.affix و bulgarian.dict و bulgarian.stop إلى $SHAREDIR/tsearch_data/ directory (على سبيل المثال C:Program FilesPostgreSQL12sharetsearch_data ). يمكنك تحديد ماهية $SHAREDIR عن طريق تشغيل pg_config --sharedir .
تنفيذ البرنامج النصي 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;
تأكد من عمله عن طريق تشغيل استعلام بحث كامل عن النص.
استفسار مثل هذا:
SELECT to_tsvector('bulgarian', 'текстовете');
يجب أن يخرج فقط قاعدة الكلمة ( текст ):
`"'текст':1"`