دليل استخدام pg_jieba
pg_jieba
هو وحدة توسعية لقاعدة بيانات PostgreSQL تعتمد على مكتبة Jieba لتقسيم النص الصيني، وخصصت خصيصاً للبحث النصي الكامل بالصينية. يمكنها تقسيم النص الصيني بكفاءة، مما يدعم وظيفة البحث الكامل. ستوضح هذه المقالة بالتفصيل كيفية تثبيت واستخدام pg_jieba
في ServBay.
تثبيت pg_jieba
ServBay تأتي مع وحدة pg_jieba
التوسعية، ما عليك سوى تمكينها في قاعدة البيانات. فيما يلي خطوات تمكين pg_jieba
:
الاتصال بقاعدة بيانات PostgreSQL:
bashpsql -U your_username -d your_database
1إنشاء الامتداد:
sqlCREATE EXTENSION pg_jieba;
1التحقق من التثبيت:
sql\dx
1
إعداد pg_jieba
بعد تمكين pg_jieba
، ستحتاج إلى بعض الإعدادات حتى يمكنها تقسيم النص الصيني بشكل صحيح ودعم البحث الكامل.
إعداد تكوين البحث النصي (Text Search Configuration)
إنشاء تكوين البحث النصي:
sqlCREATE TEXT SEARCH CONFIGURATION chinese (PARSER = pg_jieba);
1إضافة القاموس:
sqlALTER TEXT SEARCH CONFIGURATION chinese ADD MAPPING FOR n,v,a,i,e,l WITH simple;
1
استخدام pg_jieba في البحث النصي الكامل
فيما يلي مثال يوضح كيفية استخدام pg_jieba
للبحث النصي الكامل.
إنشاء الجداول والبيانات النموذجية
إنشاء الجدول:
sqlCREATE TABLE documents ( id SERIAL PRIMARY KEY, content TEXT );
1
2
3
4إدخال بيانات نموذجية:
sqlINSERT INTO documents (content) VALUES ('我爱自然语言处理'), ('中文分词是文本处理的重要步骤'), ('pg_jieba是一个很好的中文分词工具');
1
2
3
4
إنشاء فهرس البحث النصي الكامل
- إنشاء فهرس GIN:sql
CREATE INDEX idx_gin_content ON documents USING gin (to_tsvector('chinese', content));
1
تنفيذ البحث النصي الكامل
تنفيذ استعلام البحث:
sqlSELECT * FROM documents WHERE to_tsvector('chinese', content) @@ to_tsquery('chinese', '中文 & 分词');
1
2ستعيد هذه الاستعلامات الوثائق التي تحتوي على كلمتي "中文" و "分词".
تخصيص القاموس
يمكنك تخصيص قاموس pg_jieba
لتلبية احتياجات التطبيقات الخاصة بك بشكل أفضل.
إضافة كلمات مخصصة
إنشاء ملف قاموس مخصص:
plaintext/Applications/ServBay/etc/scws/custom_dict.txt
1إضافة الكلمات إلى الملف، كل كلمة في سطر منفصل:
plaintext自然语言处理 中文分词
1
2إعداد
pg_jieba
لاستخدام القاموس المخصص:sqlSET pg_jieba.dict_path = '/Applications/ServBay/etc/scws/custom_dict.txt';
1
إعادة تحميل القاموس
- إعادة تحميل القاموس:sql
SELECT jieba_reload_dict();
1
ملخص
pg_jieba
هو أداة قوية لتقسيم النص الصيني، ومن خلال إعداد بسيط واستخدام يمكنّك من تحقيق البحث النصي الكامل بكفاءة في PostgreSQL. يحتوي ServBay على وحدة pg_jieba
التوسعية، ما عليك سوى اتباع خطوات التثبيت والإعداد في هذه المقالة لتبدأ في استخدامها. من خلال قاموس مخصص، يمكنك تحسين تأثير التقسيم بشكل أكبر لتلبية احتياجات محددة للتطبيق.