تصفية قوائم المواضيع في Discourse

:bookmark: يشرح هذا الدليل نظام تصفية المواضيع المتقدم في Discourse، بما في ذلك بناء جملة لغة الاستعلام الكامل، وخيارات التصفية، وكيفية استخدام المسار /filter بفعالية.

:person_raising_hand: مستوى المستخدم المطلوب: جميع المستخدمين

استخدام لغة استعلام تصفية المواضيع في Discourse

يوفر مرشح المواضيع في Discourse لغة استعلام قوية للعثور على المواضيع بناءً على معايير متعددة. تتيح لك واجهة البحث المتقدم هذه دمج المرشحات، وفرز النتائج، وإنشاء استعلامات دقيقة لأي محتوى على منتداك.

الوصول إلى المرشح

يمكنك الوصول إلى مرشح المواضيع بطريقتين:

الوصول المباشر عبر عنوان URL:
انتقل إلى /filter على مثيل Discourse الخاص بك (على سبيل المثال: https://meta.discourse.org/filter)

التنقل من الشريط الجانبي:
انقر فوق “المزيد” في الشريط الجانبي الخاص بك، ثم حدد خيار المرشح

تتضمن واجهة المرشح نظام إكمال تلقائي ذكي يقترح المرشحات والقيم المتاحة أثناء الكتابة.

بناء جملة الاستعلام الأساسي

تستخدم المرشحات بناء جملة منظم بالصيغة:

filter-name:value

دمج مرشحات متعددة:

category:support status:open created-after:2023-01-01

تضمين مصطلحات البحث العادية:

category:support ssl certificate error

يبحث هذا عن مواضيع في فئة “الدعم” تحتوي على الكلمات “خطأ في شهادة ssl”.

مرشحات الفئات

category: (اسم مستعار: categories:)

تصفية المواضيع حسب الفئة

الاستخدام الأساسي:

category:support
category:dev,support          # مواضيع في فئات dev أو support
category:documentation:admins # مواضيع في الفئة الفرعية للمسؤولين ضمن التوثيق

البادئات المتقدمة:

  • = - فئة بدون فئات فرعية: =category:general
  • - - استبعاد فئة: -category:off-topic
  • -= - استبعاد فئة بدون فئات فرعية: -=category:meta

أمثلة:

category:bug,feature          # تضمين فئات الأخطاء أو الميزات (مع الفئات الفرعية)
=category:bug,feature         # تضمين فئات الأخطاء أو الميزات (بدون الفئات الفرعية)
-category:bug,feature         # استبعاد فئات الأخطاء أو الميزات (مع الفئات الفرعية)
-=category:bug,feature        # استبعاد فئات الأخطاء أو الميزات (بدون الفئات الفرعية)

مرشحات العلامات

tag: (اسم مستعار: tags:)

تصفية المواضيع حسب العلامات (يتطلب تمكين العلامات)

الاستخدام الأساسي:

tag:bug
tag:feature,enhancement       # مواضيع بعلامات feature أو enhancement
tag:bug+urgent               # مواضيع بعلامتي bug و urgent معًا

الاستبعاد:

-tag:solved                  # استبعاد المواضيع ذات العلامة solved
-tag:bug+urgent              # استبعاد المواضيع ذات العلامتين bug و urgent معًا
-tag:bug,urgent              # استبعاد المواضيع ذات العلامة bug أو urgent

tag_group:

التصفية حسب مجموعات العلامات

الاستخدام الأساسي:

tag_group:moderation
-tag_group:staff-only        # استبعاد المواضيع ذات العلامات من مجموعة staff-only

مرشحات التاريخ

تدعم جميع مرشحات التاريخ التواريخ المحددة (YYYY-MM-DD) والأيام النسبية:

تواريخ النشاط

  • activity-before: - المواضيع التي كان آخر نشاط لها قبل التاريخ المحدد
  • activity-after: - المواضيع التي كان آخر نشاط لها بعد التاريخ المحدد

تواريخ الإنشاء

  • created-before: - المواضيع التي تم إنشاؤها قبل التاريخ المحدد
  • created-after: - المواضيع التي تم إنشاؤها بعد التاريخ المحدد

تواريخ آخر مشاركة

  • latest-post-before: - المواضيع التي كانت آخر مشاركة لها قبل التاريخ المحدد
  • latest-post-after: - المواضيع التي كانت آخر مشاركة لها بعد التاريخ المحدد

أمثلة على تنسيق التاريخ:

created-after:2023-12-25     # تاريخ محدد (YYYY-MM-DD)
created-after:30             # قبل 30 يومًا
created-after:1              # بالأمس
created-after:0              # اليوم

اقتراحات سريعة:

  • 1 - الأمس
  • 7 - الأسبوع الماضي
  • 30 - الشهر الماضي
  • 365 - العام الماضي

مرشحات المستخدم

created-by:

التصفية حسب مؤلف الموضوع

الاستخدام الأساسي:

created-by:username
created-by:user1,user2       # مواضيع بواسطة user1 أو user2
created-by:@username         # البادئة @ اختيارية

المرشحات الشخصية (للمستخدمين المسجلين فقط)

in:

التصفية حسب علاقتك الشخصية بالمواضيع

الخيارات المتاحة:

  • in:pinned - المواضيع المثبتة لك
  • in:bookmarked - المواضيع التي قمت بوضع إشارة مرجعية لها
  • in:watching - المواضيع التي تتابعها
  • in:tracking - المواضيع التي تتعقبها
  • in:muted - المواضيع التي كتمتها
  • in:normal - المواضيع ذات مستوى الإشعارات العادي
  • in:watching_first_post - المواضيع التي تتابع فيها المنشور الأول فقط

أمثلة:

in:bookmarked category:support
in:watching,tracking         # مواضيع تتابعها أو تتعقبها

المرشحات الرقمية

مرشحات الإعجابات

  • likes-min: - الحد الأدنى للإعجابات الإجمالية عبر جميع المشاركات
  • likes-max: - الحد الأقصى للإعجابات الإجمالية عبر جميع المشاركات
  • likes-op-min: - الحد الأدنى للإعجابات في المنشور الافتتاحي
  • likes-op-max: - الحد الأقصى للإعجابات في المنشور الافتتاحي

مرشحات عدد المشاركات

  • posts-min: - الحد الأدنى لعدد المشاركات
  • posts-max: - الحد الأقصى لعدد المشاركات

مرشحات المشاركين

  • posters-min: - الحد الأدنى لعدد المشاركين
  • posters-max: - الحد الأقصى لعدد المشاركين

مرشحات عدد المشاهدات

  • views-min: - الحد الأدنى لعدد المشاهدات
  • views-max: - الحد الأقصى لعدد المشاهدات

أمثلة:

likes-min:10                 # مواضيع حصلت على 10 إعجابات على الأقل
posts-min:5 posts-max:20     # مواضيع تحتوي على 5-20 مشاركة
views-min:100 likes-op-min:5 # مواضيع شائعة مع منشورات افتتاحية جذابة

مرشحات الحالة

status:

التصفية حسب حالة الموضوع

الحالات المتاحة:

  • status:open - المواضيع المفتوحة (غير مغلقة أو مؤرشفة)
  • status:closed - المواضيع المغلقة
  • status:archived - المواضيع المؤرشفة
  • status:listed - المواضيع المدرجة (المرئية)
  • status:unlisted - المواضيع غير المدرجة
  • status:deleted - المواضيع المحذوفة (يتطلب إذنًا)
  • status:public - المواضيع العامة (الفئات غير المقيدة)

الحالات الخاصة بالإضافات:

  • status:solved - المواضيع المحلولة (مع إضافة Solved)
  • status:unsolved - المواضيع غير المحلولة (مع إضافة Solved)

أمثلة:

status:open category:support
status:closed created-after:30

خيارات الفرز

order:

فرز النتائج حسب معايير مختلفة

عمليات الفرز المتاحة:

  • order:activity - آخر نشاط (افتراضي، تنازلي)
  • order:activity-asc - أقدم نشاط أولاً
  • order:created - تاريخ الإنشاء (الأحدث أولاً)
  • order:created-asc - الأقدم أولاً
  • order:latest-post - تاريخ آخر مشاركة (الأحدث أولاً)
  • order:latest-post-asc - أقدم آخر مشاركة
  • order:likes - أكبر عدد من الإعجابات عبر جميع المشاركات
  • order:likes-asc - أقل عدد من الإعجابات
  • order:likes-op - أكبر عدد من الإعجابات في المنشور الافتتاحي
  • order:likes-op-asc - أقل عدد من الإعجابات في المنشور الافتتاحي
  • order:posters - أكبر عدد من المشاركين
  • order:posters-asc - أقل عدد من المشاركين
  • order:title - أبجديًا حسب العنوان
  • order:title-asc - أبجديًا عكسيًا
  • order:views - أكبر عدد من المشاهدات
  • order:views-asc - أقل عدد من المشاهدات
  • order:category - اسم الفئة
  • order:category-asc - اسم الفئة عكسيًا
  • order:read - تاريخ آخر قراءة (للمستخدمين المسجلين)
  • order:read-asc - أقدم قراءة أولاً

أمثلة متقدمة

العثور على مناقشات حديثة وشائعة:

created-after:7 likes-min:10 order:likes

مواضيع الدعم التي تحتاج إلى اهتمام:

category:support status:open posts-max:3 created-after:7

مواضيع التطوير التي قمت بوضع إشارة مرجعية لها:

category:dev in:bookmarked order:activity

استبعاد تقارير الأخطاء المحلولة:

category:bug -tag:solved status:open order:created

مواضيع ذات تفاعل عالٍ من مستخدمين محددين:

created-by:admin,moderator likes-min:5 views-min:100

المواضيع غير المدرجة الحديثة (للموظفين فقط):

status:unlisted created-after:30 order:created

ميزات الإكمال التلقائي

يوفر إدخال المرشح اقتراحات ذكية:

  1. اقتراحات المرشحات - يعرض المرشحات المتاحة أثناء الكتابة
  2. الإكمال التلقائي للفئات - يقترح الفئات حسب الاسم أو المعرف (slug)
  3. الإكمال التلقائي للعلامات - يقترح العلامات مع عدد المشاركات
  4. الإكمال التلقائي لأسماء المستخدمين - يقترح أسماء المستخدمين مع أسماء العرض
  5. اقتراحات التاريخ - يقدم خيارات تاريخ سريعة (الأمس، الأسبوع الماضي، إلخ)
  6. دعم البادئات - يعرض خيارات البادئات للفئات والعلامات

نصائح وأفضل الممارسات

  1. استخدم الإكمال التلقائي - توفر واجهة المرشح اقتراحات ذكية أثناء الكتابة
  2. اجمع بين المرشحات - امزج أنواعًا مختلفة من المرشحات للحصول على نتائج دقيقة
  3. شارك عناوين URL للمرشحات - عناوين URL للمرشحات قابلة للمشاركة - انسخ عنوان URL لمشاركة بحثك
  4. أضف مرشحات مفيدة إلى الشريط الجانبي الخاص بك - يمكن إضافة عناوين URL للمرشحات إلى الشريط الجانبي الخاص بك لسهولة الوصول
  5. استخدم الاستبعاد - استخدم البادئة - لاستبعاد النتائج غير المرغوب فيها
  6. اختصارات التاريخ - استخدم الأرقام للتواريخ النسبية (30 = قبل 30 يومًا)
  7. التنقل باستخدام لوحة المفاتيح - استخدم مفاتيح الأسهم للتنقل بين الاقتراحات، و Tab/Enter للاختيار

إنشاء روابط مخصصة للشريط الجانبي

يمكنك إضافة روابط المرشحات إلى الشريط الجانبي الخاص بك كروابط مخصصة:

  1. انتقل إلى إعدادات الشريط الجانبي الخاص بك
  2. أضف رابطًا مخصصًا بعنوان URL للمرشح مثل /filter?q=category:support status:open
  3. أعطه اسمًا وصفيًا مثل “مواضيع الدعم المفتوحة”

ملاحظات فنية

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

موارد إضافية

11 إعجابًا

تم تقسيم 3 مشاركات إلى موضوع جديد: دعم onebox لمرشحات الموضوع

هل هذا ممكن؟ أعرف أنه يمكنك مشاهدة المشاركات الأولى فقط في فئة، ولكن كيف يعمل ذلك في موضوع؟

3 إعجابات

ربما يحتاج إلى توضيح، أعتقد أنه سيجد جميع المواضيع في الفئات التي تشاهدها أول مشاركة، سيتم التحديث

إعجابَين (2)

هل هناك طريقة للجمع بينها وبين عوامل التصفية الكلاسيكية غير المقروءة/الجديدة أيضًا؟

إعجابَين (2)

أعتقد أن هناك عنوان URL مخترق، ولكن يمكنني إضافة دعم لحالة: posts-unread والمواضيع غدًا، ليس بالأمر الصعب

3 إعجابات

أعتقد أنني أفضل in: لأنه مرشح شخصي مثل الإشارات المرجعية أو التتبع. تشير حالات الموضوع إلى حالة الموضوع.

أتوقع أن تُرجع watching جميع المواضيع التي أتابعها، وليس كل المواضيع من الفئات التي أتابعها. هل هذا افتراض خاطئ؟ أجد ذلك مربكًا إذا كانت “المشاهدة أول مشاركة” تشير إلى الفئة بينما تشير الحالات الأخرى إلى المواضيع.

إعجابَين (2)

قد نحتاج إلى عامل تشغيل آخر لهذه الدلالات المراقبة

أتفق على الإدخال، قد أحتاج إلى تعديل الأجزاء الداخلية قليلاً لدعم عبارات إدخال متعددة

أود طريقة لتصفيته حسب المواضيع التي لم أطلع عليها بعد، وتلك التي لم أرد عليها بعد!

هل هذا ممكن؟

على سبيل المثال، فلتر لـ “مشاركات في فئة المقدمات لم أرد عليها بعد”.

إعجابَين (2)

in:unseen category:welcome -user:shauny

أو حتى إذا كنت لا تهتم بغير المرئي يمكنك استخدام:

category:welcome -user:shauny

هل هناك دعم لأشياء مثل in:first كما هو الحال في البحث؟ شكراً.

كيف ترى ذلك يعمل؟

على سبيل المثال، عرض جميع المواضيع بكلمة رئيسية معينة لإخفائها (بدلاً من استخدام البحث).

هذا يعمل بالفعل:

https://meta.discourse.org/filter?q=glitchy%20category%3Abug

وهذا يعمل أيضًا:

https://meta.discourse.org/filter?q=glitchy%20category%3Abug%20f

ولكن أعتقد أنه إذا كانت هناك كلمة رئيسية أخرى مثل in:first مخفية ولا يتم التعامل معها بواسطة filter، فيمكننا توجيهها إلى البحث…

إعجاب واحد (1)

أوه، فهمت - f يبحث عن ذلك في المنشور الأول. لم أتمكن من العثور عليه في الوثيقة، واضطررت للبحث في هنا. شكرًا لك!

إعجاب واحد (1)

هل يوجد فلتر “لم يتم تعيين مؤقت للموضوع للإغلاق” أو “لم يتم تعيين مؤقت للموضوع للإغلاق بعد آخر رد” وأنا لا أجده؟

أستخدم فلترًا مرتبطًا من الشريط الجانبي الخاص بي لفحص مواضيع الدعم هنا على ميتا مع مرور الوقت دون حلها.

إليك الفلتر كما يبدو الآن:

category:support status:open status:unsolved activity-before:7 assigned:nobody

إنه يعمل بشكل جيد، ولكن كما سترى، هناك بعض المواضيع المدرجة التي قمت بتعيين مؤقتات لها وأود ألا تظهر في القائمة بعد الآن.