إعداد واستخدام محرك البحث Meilisearch في ServBay
Meilisearch هو محرك بحث مفتوح المصدر قوي وسريع وسهل الاستخدام، صُمم لتقديم تجربة "البحث أثناء الكتابة" المثالية. يوفر العديد من الميزات من خلال RESTful API بسيط. بفضل ServBay، أصبح نشر نسخة كاملة الوظائف من Meilisearch في بيئة macOS المحلية أمراً بسيطاً للغاية.
نظرة عامة
يتيح ServBay دمج Meilisearch في واجهته الرسومية للإدارة، مما يتيح للمطورين تثبيته بضغطة زر وتكوينه بسهولة دون الحاجة للتعامل مع سطر الأوامر أو الاعتمادات المعقّدة. كما يقوم ServBay تلقائياً بإعداد لوحة تحكم ويب مدمجة لـMeilisearch، يمكن الوصول إليها بسهولة عبر النطاق https://meilisearch.servbay.host/
لإدارة الفهارس، واختبار البحث، ومراقبة حالة الخدمة.
المتطلبات الأساسية
- يجب أن يكون ServBay مثبتاً ويعمل بنجاح على نظام macOS لديك.
- لديك مشروع تطوير ترغب في دمج خاصية البحث فيه.
- لديك معرفة أساسية بمفاهيم محرك البحث (مثل الفهرسة Index، المستندات Document، مفاتيح API).
خطوات التنفيذ
1. تثبيت حزمة Meilisearch
أولاً، تحتاج لتثبيت Meilisearch من مدير الحزم في ServBay:
- افتح تطبيق ServBay.
- في الشريط الجانبي الأيسر، اختر الحزم (Packages).
- ابحث في قائمة الحزم عن
البحث
-Meilisearch
. - اضغط على زر التثبيت بجانب
Meilisearch
، وانتظر حتى تكتمل عملية التثبيت. - اضغط زر التفعيل لتشغيل خدمة
Meilisearch
.
2. إعداد خدمة Meilisearch
بعد التثبيت، يمكنك ضبط إعدادات Meilisearch بشكل مفصل:
في الشريط الجانبي الأيسر لـ ServBay، اختر Search.
من القائمة المنسدلة اختر Meilisearch للدخول إلى صفحة الإعدادات الخاصة به.
عدّل الخيارات التالية حسب حاجتك:
- عنوان IP المربوط (Bind IP): عنوان الـ IP الذي تستمع عليه خدمة Meilisearch. القيمة الافتراضية
127.0.0.1
تعني أن الخدمة متاحة فقط على الجهاز المحلي، وهو الخيار الأمثل لأمان بيئة التطوير. - المنفذ (Port): منفذ استماع واجهة API لــMeilisearch. القيمة الافتراضية
7700
. بالرغم من أن الخدمة تعمل على هذا المنفذ، نوصي بشدة بالتفاعل معها عبر النطاق الذي توفره ServBay:https://meilisearch.servbay.host
. - المفتاح الرئيسي (Master Key): هو أهم بيانات الأمان لحماية نسخة Meilisearch الخاصة بك. يجب استخدام هذا المفتاح لتصريح جميع طلبات API (كإنشاء وتحديث وحذف الفهارس). تأكّد من تعيين مفتاح قوي وفريد والاحتفاظ به بأمان.
- مسار البيانات (Data Path): المسار المحلي الذي يخزن فيه Meilisearch كل الفهارس وملفات قاعدة البيانات. المسار الافتراضي هو
/Applications/ServBay/data/meilisearch
. يمكنك النقر على أيقونة المجلد لفتح هذا المسار مباشرة في Finder. - بيئة التشغيل (Runtime Environment): يمكنك اختيار
Development
(تطوير) أوProduction
(إنتاج). نمط التطوير يعرض تقارير أخطاء وتلميحات API مفصّلة، ما يناسب بيئة التطوير. أما نمط الإنتاج فيعطّل هذه التفاصيل لتحسين الأداء والأمان. - درجة السجل (Log Level): تتحكم في مستوى تفاصيل السجلات، متوفر
INFO
,DEBUG
,WARN
,ERROR
وغيرها، ما يسهل عمليات تتبّع الأخطاء.
- عنوان IP المربوط (Bind IP): عنوان الـ IP الذي تستمع عليه خدمة Meilisearch. القيمة الافتراضية
3. حفظ الإعدادات وبدء الخدمة
- بعد الانتهاء من جميع الإعدادات، اضغط زر حفظ (Save) في الزاوية اليمنى السفلية.
- سيطبّق ServBay إعداداتك ويبدأ (أو يعيد تشغيل) خدمة Meilisearch تلقائياً.
- راقب مؤشر الحالة بجانب Meilisearch، حيث يدل اللون الأخضر على أن الخدمة تعمل بنجاح.
4. الوصول إلى لوحة تحكم Meilisearch على الويب
يتيح لك ServBay طريقتين سريعتين للوصول إلى لوحة تحكم Meilisearch المدمجة:
الطريقة الأولى (موصى بها): في زاوية صفحة إعداد Meilisearch اليمنى العلوية، اضغط على أيقونة المتصفح (على شكل بوصلة)، وسيفتح ServBay لوحة التحكم تلقائياً في متصفحك الافتراضي.
الطريقة الثانية: أدخل العنوان
https://meilisearch.servbay.host/
في شريط عنوان المتصفح يدوياً.
ضمن هذه اللوحة يمكنك:
- إنشاء وإدارة الفهارس.
- اختبار استعلامات البحث واستعراض النتائج بشكل مرئي.
- مراقبة حالة العمليات (إضافة مستندات، تحديث إعدادات، ...إلخ).
- إدارة مفاتيح API.
5. دمج Meilisearch في تطبيقك
ممكنك استخدام أي مكتبة رسمية أو مجتمعية لزبون Meilisearch للتفاعل مع النسخة المحلية الخاصة بك.
للاتصال، استخدم المعلومات التالية:
- المضيف (Host):
https://meilisearch.servbay.host
(يشملhttps://
) - مفتاح API: المفتاح الرئيسي الذي عيّنته في الخطوة 2
مثال كود PHP (باستخدام meilisearch/meilisearch-php
)
أولاً، ثبت مكتبة العميل في مشروع PHP الخاص بك:
bash
composer require meilisearch/meilisearch-php
1
بعدها اتصل ونفّذ الأوامر في الكود الخاص بك:
php
<?php
require_once 'vendor/autoload.php';
use MeiliSearch\Client;
// تهيئة عميل Meilisearch
$client = new Client('https://meilisearch.servbay.host', 'YOUR-STRONG-MASTER-KEY'); // استبدل بالمفتاح الرئيسي الخاص بك
try {
// 1. إنشاء أو جلب الفهرس
$index = $client->index('movies');
// 2. إضافة مستندات
$documents = [
['id' => 1, 'title' => 'Carol', 'genres' => ['Romance', 'Drama']],
['id' => 2, 'title' => 'Wonder Woman', 'genres' => ['Action', 'Adventure']],
['id' => 3, 'title' => 'Life of Pi', 'genres' => ['Adventure', 'Drama']],
['id' => 4, 'title' => 'Mad Max: Fury Road', 'genres' => ['Action', 'Adventure']],
['id' => 5, 'title' => 'Moana', 'genres' => ['Fantasy', 'Action']],
['id' => 6, 'title' => 'Philadelphia', 'genres' => ['Drama']],
];
$index->addDocuments($documents);
echo "تمت إضافة المستندات إلى فهرس 'movies'.\n";
// انتظر قليلاً ليعالج Meilisearch عملية الفهرسة
sleep(1);
// 3. تنفيذ البحث
$searchResults = $index->search('max');
print_r($searchResults->getHits());
} catch (\Exception $e) {
echo "خطأ Meilisearch: {$e->getMessage()}\n";
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
الأسئلة الشائعة (FAQ)
- س: نسيت المفتاح الرئيسي (Master Key). ماذا أفعل؟
- ج: يمكنك تعيين مفتاح رئيسي جديد مباشرة من صفحة إعداد Meilisearch في ServBay، ثم الضغط على حفظ (Save)، وسيقوم ServBay بإعادة تشغيل الخدمة وتطبيق المفتاح الجديد.
- س: فشل تشغيل خدمة Meilisearch. كيف أستطيع التحقق من السبب؟
- ج: اضغط على أيقونة السجلّات أعلى صفحة إعداد Meilisearch لعرض السجلات المباشرة، غالباً ستجد فيها معلومات واضحة عن الخطأ. تأكد أيضاً من أن المنفذ المحلي
7700
غير مشغول من قبل تطبيق آخر.
- ج: اضغط على أيقونة السجلّات أعلى صفحة إعداد Meilisearch لعرض السجلات المباشرة، غالباً ستجد فيها معلومات واضحة عن الخطأ. تأكد أيضاً من أن المنفذ المحلي
- س: ما الفرق بين الوضعين
Development
وProduction
في “بيئة التشغيل”؟- ج: في وضع
Development
، تستلم ردود الـAPI تفاصيل الأخطاء (Stack Traces) للمساعدة على تصحيح مشاكل الكود. في وضعProduction
تكون الردود عامة بدون تفاصيل إضافية، وهو أكثر أماناً وأعلى أداءً للاستخدام أثناء العمل الفعلي.
- ج: في وضع
الخلاصة
يجمع ServBay وMeilisearch بين القوة والسهولة ليمنح مطوري macOS تجربة تطوير بحث محلي سلسة وقوية. باستخدام واجهة إدارة رسومية ولوحة تحكم ويب معدة مسبقاً، يمكنك التركيز مباشرة على بناء وظيفة البحث في تطبيقاتك بدلاً من إضاعة الوقت في إعداد البيئات المعقّدة.