| الملخص | يسمح لك مستكشف بيانات Discourse بإجراء استعلامات SQL على قاعدة البيانات المباشرة، مما يتيح لك تقارير إحصائية محدّثة لحظيًا. | |
| دليل التثبيت | هذا المكوّن الإضافي مُضمّن في نواة Discourse. لا حاجة لتثبيت المكوّن الإضافي بشكل منفصل. |
إذا كنت تبحث عن أمثلة أو دعم لأي استعلامات مخصصة، يمكنك العثور على العديد من المواضيع في فئة #تقارير-البيانات تحت وسم #استعلام-sql. إذا لم تجد موضوعًا يناسب احتياجاتك الخاصة، فلا تتردد في إنشاء موضوع جديد لطلب المساعدة من المجتمع.
مساعدة الاستعلام
مستضاف من قبلنا؟ هذا المكوّن الإضافي متاح في خطط الأعمال والمؤسسات لدينا. Data Explorer | Discourse - Civilized Discussion
بعد تثبيت المكوّن الإضافي، انتقل إلى /admin/plugins.
![]()
انقر على زر “الإعدادات”، وقم بتفعيل data explorer enabled (مستكشف البيانات مفعّل)، ثم أعد التحميل. يجب أن يظهر الآن علامة تبويب في شريط التنقل المتراكم باسم “مستكشف البيانات”. اختره أو انتقل إلى /admin/plugins/discourse-data-explorer، ثم استخدم أزرار +، أو استيراد، أو تشغيل للبدء.
الاستعلامات الافتراضية
في التثبيت الجديد، يأتي مستكشف البيانات مع عدة استعلامات يمكن أن تساعدك على استخلاص رؤى من نشاط المنتدى الخاص بك. افتح أي استعلام وانقر على تشغيل لتجربته.
إليك كيف تبدو الاستعلامات الافتراضية.
ملاحظة: يتم جلب الاستعلامات الافتراضية من هذا الملف: discourse-data-explorer/lib/discourse_data_explorer/queries.rb at main · discourse/discourse-data-explorer · GitHub
إذا كان لديك استعلام رائع تريد أن يتوفر للجميع، قم بإنشاء طلب دمج (PR) مثل هذا الطلب.
لا يمكن تعديل الاستعلامات الافتراضية، يمكنك نسخ كود SQL ولصقه في استعلام جديد إذا رغبت في تعديله.
كتابة الاستعلامات
عند النقر على أي من أزرار تعديل في عرض الاستعلام، أو بدء استعلام مستكشف جديد، ستظهر لك شاشة تشبه الشاشة أدناه:
الصندوقان العلويان هما اسم الاستعلام ووصفه. الاسم هو ما تختاره من مربع القائمة المنسدلة، ويجب استخدام الوصف لأغراض مثل شرح ما يجب إدخاله في معاملات الاستعلام أو لوصف البيانات التي يتم استعلامها.
اللوحة اليسرى هي المكان الذي تكتب فيه استعلام SQL. يتم توفير تمييز صياغة بسيط وفحص للأخطاء.
تشغيل الاستعلامات تلقائيًا
بينما يمكنك دائمًا تشغيل استعلام بالنقر على زر تشغيل، يمكنك توفير الوقت عند تحميل استعلام عن طريق إضافة المعلمة run إلى عنوان URL.
على سبيل المثال: /admin/plugins/discourse-data-explorer/queries/123?run
عند إضافة هذه المعلمة إلى عنوان URL، سيتم تشغيل الاستعلام بمجرد تحميل الصفحة، لذا لا تحتاج إلى النقر على زر تشغيل لرؤية النتائج. هذا مفيد بشكل خاص للاستعلامات التي تقوم بتشغيلها بشكل متكرر، مما يتيح لك حفظها كإشارات مرجعية أو إضافتها إلى الشريط الجانبي مع تضمين معلمة run للحصول على تقرير بنقرة واحدة.
استيراد الاستعلامات
لأخذ مثال، دعنا نستورد واحدًا كتبته. قم بتنزيل هذا الملف، ثم افتح مربع حوار الاستيراد واختر الملف لتحميله أو الصق الاستعلام في مربع النص. انقر على استيراد لحفظه، ثم انقر على تشغيل لرؤية النتائج.
most-common-likers.dcquery (1).json (442 Bytes)
يبدو أن جميع مطوري Discourse يحبون بعضهم كثيرًا ![]()
البحث عن الاستعلامات
إذا قمت بتجميع الكثير من الاستعلامات الرائعة، فلا مشكلة! يمكن لشريط البحث مساعدتك في تصفية النتائج بناءً على العناوين والوصوف.
السماح لمجموعات غير الموظفين بتشغيل الاستعلامات
يمكنك إضافة مجموعات محددة (بما في ذلك المشرفون) إلى استعلام لمنحهم الوصول إليه:
بعد الحفظ، يمكنك العثور عليه من صفحة المجموعات لتلك المجموعة المحددة في علامة التبويب التقارير:
انقر على أي استعلام لفتحه، ثم انقر على زر تشغيل لرؤية النتائج. يمكنك أيضًا حفظ تقارير المجموعة بالنقر على زر إشارة مرجعية.
مشاركة الاستعلامات بمعاملات محددة مسبقًا
إذا قمت بتضمين معاملات محددة من المستخدم في استعلامك، يمكنك مشاركة رابط للاستعلام وتضمين المعاملات في عنوان URL بحيث يتم تعبئتها مسبقًا عند تحميل الصفحة.
يجب أن تتضمن المعاملات في عنوان URL بالتنسيق التالي params={"parameter_name":"value"}. افصل بين المعاملات المتعددة بفواصل. على سبيل المثال:
discourse.example.com/g/my-group/reports/6?params={"param1":"value1","param2":"value2"}
بالاقتران مع معلمة run المذكورة أعلاه، يمكنك مشاركة تقرير بمعاملات محددة مسبقًا يعمل تلقائيًا عند التحميل.
حدود النتائج وتصدير الاستعلامات
مع الاستعلامات الكبيرة، قد تلاحظ وجود حد لعدد الصفوف التي يعرضها مستكشف البيانات. بشكل افتراضي، يتم تعيين الحد على 1000 صف. هذا لمنع الاستعلامات الكبيرة جدًا من إبطاء أو تعطيل أداء مثيل Discourse الخاص بك.
إذا كنت تريد تجاوز هذا الحد، لديك بعض الخيارات:
- التصفح (Pagination): يمكنك تصفية نتائجك. بدلاً من محاولة إرجاع جميع النتائج دفعة واحدة، يمكنك كتابة استعلامك لإرجاع نطاق محدد من النتائج. يمكنك بعد ذلك تعديل هذا النطاق لعرض أقسام مختلفة من بياناتك. لن يزيد هذا من الحد، لكنه سيسمح لك بعرض جميع بياناتك على أقسام.
- زيادة الحد: إذا كان لديك وصول إلى خادم Discourse ومريح من إجراء تغييرات على إعدادات Discourse، يمكنك زيادة الحد. ومع ذلك، يجب القيام بذلك بحذر. يمكن أن يزيد الحد من الحمل على خادمك إذا لم تكن حذرًا، خاصة إذا كان مستخدمون متعددون يشغلون استعلامات كبيرة في نفس الوقت.
- تنزيل النتائج: لديك أيضًا خيار تنزيل نتائج الاستعلام بدلاً من عرضها مباشرة في Discourse عن طريق النقر على زر
JSONأوCSVبعد تشغيل الاستعلام. ستحتوي البيانات التي تم تنزيلها من استعلام بتنسيق JSON أو CSV على حد نتائج أعلى بكثير وهو 10,000 صف. للأغراض البرمجية، تريد اختيار تنسيق Json، أو إذا كنت ترغب في العمل على البيانات في تطبيق جدول بيانات، فقد يكون تنسيق CSV أكثر ملاءمة.
من الجيد عمومًا محاولة كتابة استعلامات أكثر كفاءة، أو تصفية بياناتك بحيث تقوم فقط باسترداد ما تحتاجه، بدلاً من محاولة تجاوز الحد.
يمكنك أيضًا تصدير استعلام SQL نفسه بتنسيق .JSON عن طريق النقر على زر تصدير. يمكن بعد ذلك استيراد الاستعلامات التي تم تصديرها بهذه الطريقة إلى مواقع Discourse أخرى، أو استخدامها مع تطبيقات الطرف الثالث.
خطة الاستعلام
يمكن استخدام مربع الاختيار “تضمين خطة الاستعلام” لفهم استعلامات SQL وتحسينها بشكل أفضل.
عند تحديد هذا المربع وتشغيل استعلام، سيعرض Discourse تسلسل العمليات المستخدمة للوصول إلى البيانات في قاعدة بيانات Discourse. يمكن أن يشمل ذلك عمليات مثل المسح، والروابط (joins)، والفرز، وإجراءات قاعدة البيانات الأخرى. من خلال فحص خطة الاستعلام، يمكنك رؤية كيفية تنفيذ قاعدة البيانات لاستعلامك بالضبط.
سلسلة دروس مستكشف البيانات
لدينا أيضًا سلسلة مخصصة sql-tutorial حول مستكشف البيانات! إذا كنت مهتمًا بمعرفة المزيد حول كتابة استعلامات SQL في Discourse، نوصي بشدة بقراءة المواضيع في هذه السلسلة:









