البحث عن المحتوى بفعالية

:bookmark: يقدم هذا الدليل نظرة عامة شاملة على إمكانيات البحث في Discourse، بما في ذلك المرشحات (الفلاتر) والخيارات والتقنيات المتقدمة.

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

يوفر Discourse وظيفة بحث قوية مع العديد من المرشحات والمعايير. عند استخدام نموذج البحث المتقدم، فإنه يضيف تلقائيًا بناء الجملة (syntax) ذي الصلة إلى استعلامك. على سبيل المثال، سيؤدي تحديد \[x\] في رسائلي إلى إضافة in:personal إلى استعلام البحث الخاص بك.

يغطي هذا الدليل جميع خيارات وميزات البحث المتاحة في Discourse، ويقدم نصائح وحيلًا مفيدة لاستخدام وظيفة البحث.

المرشحات (Filters)

يوفر Discourse مجموعة واسعة من المرشحات لمساعدتك في تضييق نتائج البحث. إليك قائمة شاملة بالمرشحات المتاحة:

| بناء الجملة (Syntax) | الوصف |
|—|—|
| in:personal-direct | يُرجع المشاركات في الرسائل الشخصية بين مستخدمين فقط |
| in:all-pms | :information_source: للمسؤولين فقط
يُرجع المشاركات من جميع الرسائل الشخصية، بما في ذلك تلك التي لست جزءًا منها |
| in:all | يُرجع المشاركات من المواضيع العامة والرسائل الشخصية |
| in:replies | يُرجع فقط المشاركات التي هي ردود، ويستثني منشئي المواضيع الأصليين (OPs) |
| in:all-posts | يُرجع كل مشاركة تطابق الاستعلام، حتى عند تطابق مشاركات متعددة ضمن نفس الموضوع |
| in:tagged | يُرجع المشاركات من المواضيع التي تحتوي على وسم (tag) واحد على الأقل |
| in:untagged | يُرجع المشاركات من المواضيع التي ليس لها وسوم |
| in:seen | يُرجع المشاركات التي رأيتها (للمستخدمين المسجلين الدخول) |
| in:unseen | يُرجع المشاركات التي لم ترها (للمستخدمين المسجلين الدخول) |
| in:wiki | يُرجع مشاركات الويكي |
| in:watching | يُرجع المشاركات من المواضيع التي تتابعها |
| in:tracking | يُرجع المشاركات من المواضيع التي تتتبعها |
| posts_count:X | يُرجع المشاركات من المواضيع التي تحتوي على X مشاركة بالضبط |
| min_posts:X | يُرجع المشاركات من المواضيع التي تحتوي على X مشاركة على الأقل |
| max_posts:X | يُرجع المشاركات من المواضيع التي تحتوي على X مشاركة كحد أقصى |
| min_views:X | يُرجع المشاركات من المواضيع التي تحتوي على X مشاهدة على الأقل |
| max_views:X | يُرجع المشاركات من المواضيع التي تحتوي على X مشاهدة كحد أقصى |
| badge:name_or_id | يُرجع المشاركات المرتبطة بمنح وسام معين |
| created:@username | يُرجع المشاركات من المواضيع التي أنشأها username |
| group:group_name | يُرجع المشاركات من المستخدمين داخل المجموعة group_name |
| group_messages:group_name | يُرجع المشاركات من الرسائل الشخصية المرسلة إلى المجموعة group_name |
| personal_messages:username | :information_source: للمسؤولين فقط
يُرجع المشاركات من الرسائل الشخصية للمستخدم المحدد |
| -tags:tag1,tag2,tag3 | يُرجع المشاركات التي لا تحمل الوسوم tag1 أو tag2 أو tag3 |
| filetypes:ext1,ext2,ext3 | يُرجع المشاركات التي تحتوي على مرفقات بالامتدادات ext1 أو ext2 أو ext3 |
| categories:category1,category2 | يُرجع المشاركات من الفئات category1 و category2 |
| status:open | يُرجع المشاركات من المواضيع غير المغلقة أو المؤرشفة |
| status:closed | يُرجع المشاركات من المواضيع المغلقة |
| status:archived | يُرجع المشاركات من المواضيع المؤرشفة |
| status:noreplies | يُرجع المشاركات من المواضيع التي ليس لها ردود |
| status:single_user | يُرجع المشاركات من المواضيع التي تحتوي على مشاركات من مستخدم واحد فقط |
| status:public | يُرجع المشاركات من المواضيع الموجودة في فئات عامة |
| before:YYYY-MM-DD | يُرجع المشاركات التي تم إنشاؤها قبل التاريخ المحدد |
| after:YYYY-MM-DD | يُرجع المشاركات التي تم إنشاؤها بعد التاريخ المحدد |
| with:images | يُرجع المشاركات التي تحتوي على صور |

الترتيب (Order)

يمكنك فرز نتائج البحث الخاصة بك باستخدام خيارات الترتيب التالية:

| بناء الجملة (Syntax) | الوصف |
|----|----|
| order:latest | يفرز النتائج من الأحدث إلى الأقدم (اختصار: l) |
| order:oldest | يفرز النتائج من الأقدم إلى الأحدث |
| order:latest_topic | يفرز النتائج حسب تاريخ الموضوع، من الأحدث إلى الأقدم |
| order:oldest_topic | يفرز النتائج حسب تاريخ الموضوع، من الأقدم إلى الأحدث |
| order:views | يفرز النتائج حسب عدد المشاهدات |
| order:likes | يفرز النتائج حسب عدد الإعجابات | |
| order:read | (للمسجلين فقط) يفرز حسب تاريخ آخر زيارة للموضوع (اختصار: r) | |

الأسماء المستعارة (Aliases)

يوفر Discourse العديد من الأسماء المستعارة لتسهيل البحث:

| بناء الجملة (Syntax) | المكافئ |
|----|----|
| l | order:latest |
| in:personal | in:messages |
| min_post_count: | min_post: |
| in:mine | in:created |
| category: | categories: |
| # | يمكن استخدامه لكل من الفئات والوسوم، حسب السياق |
| user: | @ |
| @me | @your_own_username |
| f | in:first |
| t | in:title |

البحث عن كلمات مطابقة تمامًا

يستخدم Discourse تقنية تسمى التجذيع (Stemming) للعثور على الكلمات ذات الصلة. في حين أن هذا مفيد غالبًا، قد تكون هناك أوقات تريد فيها البحث عن كلمة مطابقة تمامًا. يمكنك القيام بذلك عن طريق إحاطة كلمتك بمسافات وعلامات اقتباس مزدوجة، هكذا: \" term \".

يضمن هذا أنه سيبحث فقط عن كلمة “term” ويستبعد الكلمات الأخرى ذات الصلة.

:information_source: لاحظ أنه نظرًا لاعتبار المسافات جزءًا من مصطلح البحث، فلن يتم إرجاع “term” إذا كانت الكلمة الأولى أو الأخيرة في المشاركة لأنه لن يسبقها أو يتبعها مسافة.

مثال: البحث عن الإشارات (@mentions)

حاليًا، البحث عن الإشارات (@mentions) غير مدعوم مباشرة. ومع ذلك، يمكنك تحقيق ذلك باستخدام طريقة البحث عن الكلمات المطابقة تمامًا:

\u003chttps://meta.discourse.org/search?q=“%20%40username%20”\u003e

:information_source: يعمل هذا لأن %20 هو كيفية ترميز المسافات في عناوين URL و%40 هو كيفية ترميز رمز @.

سيقوم هذا الاستعلام بالبحث تحديدًا عن @username (محاطًا بمسافات).

دمج خيارات البحث

يمكنك دمج خيارات بحث متعددة لإنشاء استعلامات أكثر تحديدًا. على سبيل المثال:

  • status:open category:support tag:urgent after:2023-01-01 order:latest
    سيبحث هذا عن مواضيع الدعم المفتوحة الموسومة بأنها عاجلة، والتي تم إنشاؤها بعد 1 يناير 2023، ويفرز النتائج حسب أحدث مشاركة.

  • @jane_doe in:watching min_posts:5 with:images
    سيبحث هذا عن مشاركات بواسطة Jane Doe في المواضيع التي تتابعها، والتي تحتوي على 5 مشاركات على الأقل، وتحتوي على صور.

الأذونات والقيود

قد تتطلب بعض خيارات البحث المتقدمة أذونات مستخدم معينة أو قد تقتصر على أدوار مستخدم محددة. على سبيل المثال:

  • in:all-pms متاح فقط للمسؤولين، وليس للمستخدمين العاديين أو المشرفين.
  • personal_messages:username متاح فقط للمسؤولين.

ضع دائمًا في اعتبارك دورك وصلاحياتك عند استخدام خيارات البحث المتقدمة.

بديل البحث: مرشح قائمة المواضيع (Topic List Filter)

تتوفر ميزة تجريبية /filter تدعم العديد من أنواع المرشحات. يمكنك معرفة المزيد على الموضوع الرسمي: Experimental topics list filter feature

ملفات المصدر (Source Files)

للحصول على نظرة أكثر تقنية على هذه الخيارات، يمكن العثور على جميع مرشحات ومعلمات البحث في search.rb - ابحث عن طرق advanced_filter.

نصائح إضافية

  1. يمكنك أيضًا البحث عن إشارات للوسوم مثل Bug \u003chttps://meta.discourse.org/search?q=“%20%23bug”\u003e

  2. قد تتم إضافة بعض المرشحات بواسطة الإضافات (plugins). على سبيل المثال، تضيف إضافة Solved ما يلي:

    • status:solved: يُرجع المشاركات من المواضيع التي تم حلها
    • status:unsolved: يُرجع المشاركات من المواضيع التي لم يتم حلها في الفئات التي تسمح بوضع علامة “تم الحل”
  3. تضيف إضافة Topic Voting خيار ترتيب إضافي:

    • order:votes: يفرز النتائج حسب عدد الأصوات على الموضوع الذي يحتوي على المشاركة

:bulb: خذ بعض الوقت لتجربة مجموعات مختلفة من المرشحات والخيارات للعثور على استراتيجية البحث الأكثر فعالية لاحتياجاتك.

12 إعجابًا

نظرًا لأن بعض المرشحات مفقودة، مثل in:pinned أو in:bookmarks وتلك التي لها اسم مستعار غير مشروحة، حاولت إضافة المعلومات المفقودة. بعد ذلك، أصبح الجدول معقدًا للغاية، ولهذا السبب حاولت فصله إلى جداول أصغر. هذا شيء فعله الروبوت أيضًا هنا. لست متأكدًا من أن التفسيرات كلها صحيحة. تختلف الأوصاف في الموضوع عن تلك الموجودة في محادثة @sam مع الروبوت. بالنسبة للبعض، سألت الروبوت مرة أخرى وحصلت على نتيجة مختلفة (هذه هي المظللة). ربما يمكن لشخص ما المساعدة في تصحيح الأوصاف. أنا أيضًا لست سعيدًا تمامًا بالمظهر العام. أعمدة الجدول لها عرض مختلف.


المرشحات (Filters)

مرشحات البحث (Search Filters)

الصيغة (Syntax) الوصف (Description)
topic:topic_id تُرجع المشاركات في موضوع محدد
in:titleعبر t تُرجع المواضيع التي تحتوي على المصطلح في العنوان
in:first عبر f تُرجع المشاركات الأولى في المواضيع فقط
in:replies تُرجع المشاركات التي هي ردود فقط، وتستثني المشاركات الأولى في الموضوع (OPs)
in:regular تستثني مشاركات الإجراءات الصغيرة، والهمسات، والمشاركات ذات اللون الخاص بالموظفين
in:whispers عبر in:whisper :information_source: للمستخدمين الذين لديهم إذن الهمس فقط عبر تُرجع مشاركات الهمس
include:unlisted عبر include:invisible :information_source: لمستوى الثقة 4 والموظفين فقط عبر تُرجع المشاركات، بما في ذلك تلك الموجودة في المواضيع غير المدرجة
in:all :information_source: للمستخدمين المسجلين فقط عبر تُرجع المشاركات من المواضيع العامة والرسائل الشخصية/mark>
in:all-posts تُرجع كل مشاركة تطابق الاستعلام، حتى عند تطابق مشاركات متعددة ضمن نفس الموضوع
in:pinned تُرجع المشاركات المثبتة
in:wiki تُرجع مشاركات الويكي
with:images تُرجع المشاركات التي تحتوي على صور
filetypes:ext1,ext2,ext3 عبر filetype:ext1,ext2,ext3 تُرجع المشاركات التي تحتوي على عمليات تحميل بالامتدادات ext1 أو ext2 أو ext3
badge:name_or_id تُرجع المشاركات المرتبطة بمنح شارة محددة

مرشحات الرسائل (Message Filters)

(للمستخدمين المسجلين)

الصيغة (Syntax) الوصف (Description)
in:personal عبر in:messages تُرجع المشاركات من الرسائل الشخصية
in:personal-direct تُرجع المشاركات من الرسائل الشخصية بينك وبين مستخدم واحد بالضبط
group_messages:group_name_or_id تُرجع المشاركات من الرسائل الشخصية المرسلة إلى المجموعة group_name (يعمل هذا فقط عندما تكون المجموعة وأعضاؤها مرئيين لك)
personal_messages:username :information_source: للمسؤولين فقط عبر تُرجع المشاركات من الرسائل الشخصية للمستخدم المحدد
in:all-pms :information_source: للمسؤولين فقط عبر تُرجع المشاركات من جميع الرسائل الشخصية، بما في ذلك تلك التي لست جزءًا منها

مرشحات خاصة بالمستخدم والمجموعة (User and Group Specific Filters)

الصيغة (Syntax) الوصف (Description)
@username عبر user:username_or_id تُرجع المشاركات بواسطة username
created:@username عبر in:first @username تُرجع المشاركات الأولى في المواضيع التي أنشأها username
group:group_name_or_id تُرجع المشاركات من المستخدمين داخل المجموعة group_name
in:bot عبر in:bots تُرجع المشاركات من حسابات النظام والروبوتات (مثل @system، @discobot)
in:humanعبر in:humans تُرجع المشاركات من المستخدمين العاديين

مرشحات الفئة والوسم (Category and Tag Filters)

الصيغة (Syntax) الوصف (Description)
category:category1 عبر #category1 تُرجع المشاركات من الفئة category1
categories:category1,category2عبر category:category1,category2 تُرجع المشاركات من الفئات category1 و category2
tag:tag1 عبر #tag1 تُرجع المشاركات من المواضيع الموسومة بالوسم tag1
-tag:tag1 تُرجع المشاركات من المواضيع غير الموسومة بالوسم tag1
tags:tag1,tag2 عبر tag:tag1,tag2 تُرجع المشاركات من المواضيع الموسومة بالوسم tag1 أو tag2
-tags:tag1,tag2عبر -tag:tag1,tag2 تُرجع المشاركات من المواضيع غير الموسومة بالوسم tag1 أو tag2
tags:tag1+tag2 عبر tag:tag1+tag2 تُرجع المشاركات من المواضيع الموسومة بالوسمين tag1 و tag2
-tags:tag1+tag2 عبر -tag:tag1+tag2 تُرجع المشاركات من المواضيع غير الموسومة بالوسمين tag1 و tag2
in:tagged تُرجع المشاركات من المواضيع التي تحتوي على وسم واحد على الأقل
in:untagged تُرجع المشاركات من المواضيع التي ليس لها وسوم

المرشحات الشخصية (للمستخدم) (Personalized Filters (User-Specific))

(للمستخدمين المسجلين)

الصيغة (Syntax) الوصف (Description)
in:seen تُرجع المشاركات التي رأيتها
in:unseen تُرجع المشاركات التي لم ترها
in:watching تُرجع المشاركات من المواضيع التي تتابعها
in:tracking تُرجع المشاركات من المواضيع التي تتتبعها
in:bookmarks تُرجع المشاركات التي قمت بوضع إشارة مرجعية عليها
@meعبر @your_own_username تُرجع المشاركات التي كتبتها
in:posted تُرجع جميع مشاركات المواضيع التي نشرت فيها
in:created عبر in:mine تُرجع المشاركات الأولى للمواضيع التي كتبتها

مرشحات عدد المشاركات والعرض (Post and View Count Filters)

الصيغة (Syntax) الوصف (Description)
min_posts:X عبر min_post_count:X تُرجع المشاركات من المواضيع التي تحتوي على X مشاركة على الأقل
max_posts:X تُرجع المشاركات من المواضيع التي تحتوي على X مشاركة على الأكثر
posts_count:X تُرجع المشاركات من المواضيع التي تحتوي على X مشاركة بالضبط
min_views:X تُرجع المشاركات من المواضيع التي تحتوي على X مشاهدة على الأقل
max_views:X تُرجع المشاركات من المواضيع التي تحتوي على X مشاهدة على الأكثر

مرشحات التاريخ (Date Filters)

جميع التواريخ بتوقيت UTC، نستخدم دائمًا بداية اليوم بتوقيت UTC كوقت بدء لأي فترة.

الصيغة (Syntax) الوصف (Description)
before:YYYY-MM-DD تُرجع المشاركات التي تم إنشاؤها قبل التاريخ المحدد
after:YYYY-MM-DD تُرجع المشاركات التي تم إنشاؤها بعد التاريخ المحدد
before:day_of_week تُرجع المشاركات التي تم إنشاؤها قبل يوم الأسبوع المحدد
after:day_of_week تُرجع المشاركات التي تم إنشاؤها في يوم الأسبوع المحدد وفي الأيام التي تليه
before:X تُرجع المشاركات التي تم إنشاؤها قبل X أيام
after:X تُرجع المشاركات التي تم إنشاؤها خلال X أيام الماضية
before:month تُرجع المشاركات التي تم إنشاؤها قبل الشهر المحدد
after:month تُرجع المشاركات التي تم إنشاؤها في الشهر المحدد وخلاله
before:YYYY تُرجع المشاركات التي تم إنشاؤها قبل السنة المحددة
after:YYYY تُرجع المشاركات التي تم إنشاؤها في السنة المحددة وخلالها

مرشحات الحالة (Status Filters)

الصيغة (Syntax) الوصف (Description)
status:open تُرجع المشاركات من المواضيع غير المغلقة أو المؤرشفة
status:closed تُرجع المشاركات من المواضيع المغلقة
status:archived تُرجع المشاركات من المواضيع المؤرشفة
status:noreplies تُرجع المشاركات من المواضيع التي ليس لها ردود
status:single_user تُرجع المشاركات من المواضيع التي تحتوي على مشاركات من مستخدم واحد فقط
status:public تُرجع المشاركات من المواضيع الموجودة في فئات عامة

مرشحات اللغة (Language filters)

الصيغة (Syntax) الوصف (Description)
locale:language_code تُرجع المشاركات المكتوبة بهذه اللغة، على سبيل المثال en أو en_US أو en-gb
locale:any عبر locale:present تُرجع المشاركات التي تم تعيين رمز لغة لها
locale:none عبر locale:null تُرجع المشاركات التي ليس لها رمز لغة

المرشحات المضافة بواسطة الإضافات (Filters added by Plugins)

الصيغة (Syntax) الوصف (Description)
تعيين (Assign)
in:assigned تُرجع المشاركات من المواضيع المعينة لشخص ما
in:unassigned تُرجع المشاركات من المواضيع غير المعينة لأي شخص
assigned:username تُرجع المشاركات من المواضيع المعينة لـ username
الوثائق (Docs)
in:docs عبر in:kb تُرجع المشاركات من الفئات والوسوم المضمنة في الوثائق
فئات الوثائق (Doc Categories)
in:docs تُرجع المشاركات من الفئات التي تحتوي على موضوع فهرس
الاستطلاعات (Polls)
in:polls تُرجع المشاركات التي تحتوي على استطلاعات رأي
تم الحل (Solved)
status:solved تُرجع المشاركات من المواضيع التي تم حلها
status:unsolved تُرجع المشاركات من المواضيع التي لم يتم حلها في الفئات التي تسمح بتحديد الحل
التصويت على الموضوع (Topic voting)
min_vote_count:X تُرجع المشاركات من المواضيع التي تحتوي على X أصوات على الأقل

الترتيب (Order)

الصيغة (Syntax) الوصف (Description)
order:latestعبر l يرتب النتائج من الأحدث إلى الأقدم
order:oldest يرتب النتائج من الأقدم إلى الأحدث
order:latest_topic يرتب النتائج حسب تاريخ الموضوع، من الأحدث إلى الأقدم
order:oldest_topic يرتب النتائج حسب تاريخ الموضوع، من الأقدم إلى الأحدث
order:views يرتب النتائج حسب عدد المشاهدات
order:likes يرتب النتائج حسب عدد الإعجابات
order:readعبر r :information_source: للمستخدمين المسجلين فقط عبر يرتب النتائج حسب تاريخ آخر زيارة لك للموضوع

خيارات الترتيب المضافة بواسطة الإضافات (Order options added by Plugins)

الصيغة (Syntax) الوصف (Description)
التصويت على الموضوع (Topic voting)
order:votes يرتب النتائج حسب عدد الأصوات على الموضوع الذي يحتوي على المشاركة
4 إعجابات

أعتقد أنه نفس الشيء مثل @me

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

هل هناك طريقة لاستبعاد الردود بحيث تظهر الموضوعات فقط في البحث؟

نعم

4 إعجابات

شكرا جزيلا.

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

هل يرتبط هذا بالصفحة المقصودة؟

أعتقد ذلك. يأخذك إلى قائمة الموضوعات مع شريط التصفية في الأعلى.

ماذا كنت تتوقع؟

حسنًا. النقر على الرابط يعرض هذا:

لذلك، إذا كنت لا تعرف ما هو شريط التصفية، فلا يمكنك اكتشافه! شكرًا لك على إرسال ما يُفترض أن يراه القارئ.

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

لقد وجدت هذه أسهل في القراءة مع فواصل الأسطر.

تم تحديث الجدول في المنشور الأصلي ليشمل in:all-posts و in:replies التي تم إصدارها حديثًا، والتي تم الإعلان عنها في Search improvements to make community management easier!

3 إعجابات

شكرًا لك. كنت أقدر لو أنك أضفت أيضًا فواصل الأسطر التي أزيلت أثناء التعديل السابق.

سأضيف المرشحات الجديدة إلى منشوري أيضًا. هل هناك أي خطط لتضمين المرشحات المفقودة في المنشور الرسمي؟

مرحباً @Moin،

كان هدفي فقط هو التقاط الميزتين الجديدتين قبل أن يتم التغاضي عنهما.

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

إعجابَين (2)

تمت إضافة مرشحات الموقع (locale filters) أيضًا خلال الشهر الماضي: Search for localized title/content in Discourse search - #15 by nat.
لذا لم يكن من الواضح سبب إضافتك لهذه المرشحات وليس المرشحات الأخرى.

فقط لأنني كنت مشاركًا ومدركًا لإصدار in:replies و in:all-posts، وأنا قادم من خلفية تحرير الوثائق في الوقت الفعلي. لم يكن إغفالًا متعمدًا لأي ميزات محددة من المنشور الأصلي.

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

أنا أقدر التحديثات في الوقت المناسب، ولكني أجد أنه من الصعب تقريبًا تحديد ما هو مفقود لأنه لم يعد كافيًا النظر إلى ما تغير منذ آخر تعديل. شعوري هو أنه قد تمت إضافة تعديلين من آخر أربعة تعديلات (الترتيب: read و in:replies/all-posts مقابل in:bots/human و locale:language).

هل هناك أي شيء تود رؤيته فيما يتعلق بكيفية الإشارة إلى التغييرات؟ لقد أضفت in:bots منذ بعض الوقت. كان بإمكاني الرد هنا، ولكن انطباعي العام هو أن هذه التعليقات نادرًا ما تؤدي إلى تغييرات. منذ التحول إلى “يمكن لأعضاء الفريق فقط التعديل”، أشعر أن سير العمل لتحويل الجوانب التي يجدها المجتمع إلى تحسينات مفقود.

إنه ليس قرارًا لي وحدي، لذا سأعيد ملاحظاتك إلى الفريق وأرى إلى أين سنصل.

في الوقت الحالي، ما لم/حتى نعود إلى توثيق الويكي، أعتقد أن التعليقات مفيدة، لأنه عندما يتمكن أحد أعضاء الفريق من تحديد أولويات تحديث مستند، تكون قد ساعدت في ضمان عدم إغفال عناصر محددة.

قد لا تحصل على الرضا الفوري لرؤية تعليقاتك مُدمجة على الفور، ولكنها ستكون موضع تقدير بلا شك عند إجراء التحديث.

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