البحث في المواقع الساكنة لـ Astro

أضفت ميزة البحث إلى ثلاثة مواقع لأدلة الذكاء الاصطناعي الشهر الماضي.

قارنت بين أربعة خيارات رئيسية قبل أن أختار Pagefind. إليك سبب اختياري له.

المنافسون

Pagefind: مكتبة تعتمد على لغة Rust. تعمل أثناء وقت البناء (build time) وتقدم كل شيء كملفات ساكنة. • Algolia DocSearch: خدمة مستضافة. هي سريعة ومصقولة ولكنها مكلفة للمواقع التجارية. • Lunr.js: مكتبة تعمل من جهة العميل (client-side). تعمل دون اتصال بالإنترنت ولكنها تجعل تحميل الصفحة الأولي ثقيلاً. • FlexSearch: بديل أسرع لـ Lunr، لكنه لا يزال يتطلب إرسال الفهرس بالكامل إلى المتصفح.

لماذا اخترت Pagefind

1. حجم الفهرس

تحتوي مواقعي على 1,000 مدخل. سيضيف فهرس Lunr حوالي 4 ميجابايت لكل عملية تحميل للصفحة. يستخدم Pagefind أجزاءً (shards)؛ حيث يقوم بتحميل قطع صغيرة أثناء كتابة المستخدم. يظل التحميل الأولي أقل من 30 كيلوبايت.

2. التكلفة

تبلغ تكلفة Algolia حوالي 49 دولاراً شهرياً للمواقع التجارية. ميزانيتي الإجمالية للمواقع الثلاثة هي 25 دولاراً شهرياً. أما Pagefind فهو مجاني.

3. النشر

يقوم Pagefind بإنشاء ملفات ساكنة. وتقوم Cloudflare Pages بتخزين هذه الملفات مؤقتاً عند الحافة (at the edge) تلقائياً. لن تحتاج إلى إدارة مفاتيح API أو القلق بشأن حدود معدل الطلبات (rate limits).

المقايضات

Pagefind ليس مثالياً. يجب أن تعرف هذين النقصين:

عدم تسجيل الاستعلامات: يعمل Pagefind في المتصفح، لذا فهو لا يخبرك عما يبحث عنه المستخدمون. تقوم Algolia بذلك تلقائياً. سيتعين عليك بناء طبقة تسجيل خاصة بك لـ Pagefind. • قدرة أساسية على تحمل الأخطاء الإملائية: يستخدم Pagefind تقنية stemming أساسية، لذا فهو يعاني مع الأخطاء الإملائية الكبيرة. بينما تتعامل Algolia مع الأخطاء الإملائية بشكل أفضل بكثير.

ملخص المقارنة

Pagefind: مجاني، يستخدم ملفات ساكنة، يتوسع بشكل جيد مع التحميل الكسول (lazy loading)، قدرة أساسية على تحمل الأخطاء الإملائية. • Algolia: 49 دولاراً/شهرياً، يستخدم بنية تحتية سحابية، يتوسع بشكل جيد، قدرة قوية على تحمل الأخطاء الإملائية. • Lunr.js: مجاني، يرسل الفهرس مع الصفحة، توسع ضعيف، قدرة ضعيفة على تحمل الأخطاء الإملائية.

حكمي النهائي

إذا كنت تدير موقعاً ساكناً بميزانية محدودة يحتوي على 500 إلى 1,000 مدخل، فاستخدم Pagefind. أما إذا كنت بحاجة إلى تحليلات متقدمة وقدرة مثالية على تحمل الأخطاء الإملائية، فادفع مقابل Algolia.

المصدر: https://dev.to/morinaga/static-site-search-for-astro-in-2026-why-i-picked-pagefind-over-algolia-and-lunr-3891