بحث النص الكامل في PostgreSQL: زيادة السرعة بمقدار 50 مرة من خلال تحسينات بسيطة

2025-04-09
بحث النص الكامل في PostgreSQL: زيادة السرعة بمقدار 50 مرة من خلال تحسينات بسيطة

أظهر مقياس أداء حديث من Neon أن البحث النصي الكامل (FTS) المدمج في PostgreSQL كان أبطأ من pg_search. ومع ذلك، تكشف هذه المقالة أن مقياس أداء Neon استخدم إعداد FTS قياسيًا غير مُحسّن. من خلال الحساب المسبق وتخزين عمود `tsvector` وتكوين مؤشرات GIN مع `fastupdate=off`، يتم تحقيق زيادة كبيرة في الأداء. أظهرت التجارب على مجموعة بيانات مكونة من 10 ملايين سجل تحسينًا في السرعة بنسبة 50 مرة تقريبًا، مما يثبت أن FTS القياسي المُحسّن بشكل صحيح يمكنه منافسة محركات البحث المخصصة. كما تتناول المقالة VectorChord-BM25، وهي امتداد قائم على خوارزمية BM25، والذي يمتاز بأداءه المتميز في مهام الترتيب.

التطوير