ويكيبيديا:بحث متقدم

في جميع مواقع ويكيميديا؛ يتم تفعيل امتداد (CirrusSearch). وبوجود هذا الامتداد في أي موقع من مواقع الموسوعات التي تُشغل بواسطة خوادم ويكيميديا؛ يُتيح ذلك عدة مزايا أثناء البحث، ومنها السرعة الفائقة في جلب نتائج البحث، وفهرسة جميع الصفحات ليتم الاستعلام عنها بسهولة. بالإضافة لذلك، والأمر الذي سنتحدث عنه هنا هو بعض الخصائص، والمميزات الذي يوفره امتداد CirrusSearch، وأهمها على الإطلاق هو استخدام هذه الخصائص في الاستعلام عن المقالات التي بحاجة لصيانة، أو للعمل عليها باستخدام أدوات أخرى مثل: أوب، أو باويكيبيديا.

الخواص

عدل

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

insource

عدل

يستخدم هذا المتغير في إيجاد مقطع من نص داخل محتوى الصفحات. ويُمكن استخدامه بأكثر من طريقة.

  • insource:"مثال": سيقوم بالبحث عن جميع المقالات التي تحتوي على كلمة مثال بداخلها. يُمكنك تغيير النص إلى أي كلمة، أو نص آخر.
  • insource:/مثال/: سيقوم بجلب جميع المقالات التي تحتوي على كلمة مثال بداخلها. الفرق بين هذا المثال، والمثال السابق أن هذا المثال بإمكانك استخدام ما يُسمى بالتعبير النمطي (regex) بين علامتي "//". للمزيد حول التعابير النمطية؛ طالع هذا الرابط. باستخدام التعابير النمطية يُمكنك جعل البحث أكثر سهولة، ودقة.
  • insource:/\[\[en:/: سيقوم بالبحث عن جميع المقالات التي تحتوي على وصلة لغات داخل نص المقالة. مثل: [[en:test]]. في هذه الحالة سيتم جلب عنوان المقالة التي تحتوي على هذه الوصلة في نتائج البحث. يُمكنك تغيير اسم اللغة حسب المطلوب لجلب وصلات اللغات الأخرى. لاحظ أن القوس المعقوف "[" تم سبقه بعلامة "\". وذلك لأن القوس المعقوف يتعرف عليه الريجيكس كمتغير مُعرف مسبقًا. لذلك وضعت علامة "\" قبلها حتى يتم تلافي هذا الخطأ.
  • -insource:/\{\{مراجع\}\}/: سيقوم بجلب جميع المقالات التي لا تحتوي على قالب مراجع داخل المقالة. لاحظ وجود شيئين: الأول هو أن القوس "{" سُبق بعلامة "\" لنفس السبب في المثال السابق، لأن علامة القوس مُعرفة مسبقًا لدى الريجيكس، فيتم وضع علامة "\" لتلافي هذه الحالة. أما الشيء الثاني هو أن الخاصية insource: سُبقت بعلامة الشرطة "-". تعني علامة الشرطة نفي الخاصية عن المقالة. على سبيل المثال. لو قمنا بكتابة insource:"مثال" فسيقوم هذا البحث بجلب جميع المقالات التي تحتوي على كلمة مثال بداخلها. أما لو قمنا بكتابة -insource:"مثال" فسيقوم البحث بجلب جميع المقالات التي لا تحتوي على كلمة مثال بداخلها.

ملاحظة هامة: الحروف التي يجب أن تسبقها بعلامة "\" هي كالآتي: (\,/,',",?,*,^,$,#,-,,)

intitle

عدل

هذه الخاصية تقوم بجلب المقالات التي تحتوي في عنوانها على نص محدد. على سبيل المثال، لو أردنا جلب جميع المقالات التي لا تحتوي على قالب:توضيح، ولكن عنوان الصفحة يحتوي على كلمة "(توضيح)"؛ فكل ما علينا فعله هو:

intitle:"(توضيح)" insource:"\{\{توضيح\}\}"

كما تلاحظ؛ استخدمنا نفس الحالة الموجودة في الجدول أعلاه. ولكن أضفنا عليها شرطًا جديدًا. كل ما عليك فعله لإضافة شرط جديد هو وضع مسافة " " بين الشرط والآخر. في حال عدم وجود المسافة سيظهر خطأ.

مثال آخر. نريد جلب جميع المقالات التي تحتوي على مراجع، ولكن لا تحتوي على قالب:مراجع بداخلها.

-insource:"\{\{مراجع\}\}" insource:"<ref>"

الشرط الأول هو عدم وجود قالب:مراجع بداخل نص المقالة. والشرط الثاني هو وجود النص "<ref>" داخل نص المقالة.

incategory

عدل

تُستخدم هذه الخاصية في جلب جميع المقالات التي تحتوي على تصنيف معين. جدير بالذكر أنه يُمكن القيام بهذه الخطوة باستخدام الخاصية insource: ولكن الخاصية incategory: أكثر دقة في جلب النتائج من الأولى. لعدة أسباب منها أن بعض المقالات أحيانًا تحتوي على تصنيف معين مضمن داخل قالب ما.

مثلًا مقالة تحتوي على تصنيف:سياسيون مصريون، ولكن داخل نص المقالة لا يوجد هذا التصنيف. وبعد البحث وجدنا أن هذا التصنيف مُضمن داخل قالب:رؤساء مصر الموجود بدوره داخل مقالات رؤساء مصر. وبالتالي تكون مقالات الرؤساء ضمن التصنيف، ولكن التصانيف غير موجود ضمن نص المقالة.

مثال، نريد جلب جميع المقالات التي ضمن تصنيف:جميع مقالات النهاية المسدودة.

incategory:"جميع مقالات النهاية المسدودة"

مثال آخر. نريد جلب جميع المقالات التي ضمن تصنيف:أشخاص على قيد الحياة، ولكن تحتوي على تصنيف وفيات 2019.

incategory:"أشخاص على قيد الحياة" incategory:"وفيات 2019"

كما تلاحظ، يُمكن بسهولة توليد قائمة بالمقالات باستخدام أكثر من شرط. يُرجى الملاحظة أن هذه الخاصية تجلب فقط المقالات دون التصنيف الفرعي. أي أنها ستجلب فقط المستوى الأول من أعضاء التصنيف. أما المقالات التي تكون ضمن التصانيف الفرعية للتصنيف فلن يتم تضمينها.

hastemplate

عدل

تقوم هذه الخاصية بجلب جميع المقالات التي تحتوي على قالب محدد. أعلاه، قمنا بجلب جميع المقالات التي تحتوي على مصادر، ولكن لا تحتوي على قالب مراجع، ولكن الآن سنقوم بتطبيق الحالة بشكل أكثر دقة.

-hastemplate:"مراجع" insource:"<ref>"

استخدمنا علامة الشرطة "-" قبل خاصية hastemplate وذلك لنفي وجود قالب مراجع داخل المقالة. استخدام الخاصية hastemplate مع القوالب أمر مفضل جدًا، لعدة أسباب من أهمها اختلاف أساليب التحرير بين المستخدمين. فمنهم من يقوم بكتابة قالب المراجع بهذه الطريقة {{ مراجع }}، ومنهم من يقوم بوضعه بهذه الطريقة {{مراجع|}}. فلذلك؛ الطريقة الأكثر أمانًا هي استخدام الخاصية hastemplate لقطع أي شك ممكن.


linksto

عدل

تستخدم هذه الخاصية في جلب المقالات التي تحتوي على وصلة معينة. على سبيل المثال، يُمكن فحص إذا ما كانت مقالة ما يتيمة أما لا من خلال هذا المثال:

linksto:"مثال"

سيقوم المثال السابق بجلب جميع المقالات التي لها وصلة لمقالة مثال. فإذا كان عدد المقالات الناتجة أقل من 3؛ فإنها تكون يتيمة. وإلا فإنها تكون غير يتيمة.

مثال آخر. جلب جميع المقالات التي تحتوي على وصلة لبوابة:طب

linksto:"بوابة:طب"

deepcategory

عدل

تقوم هذه الخاصية بجلب جميع المقالات التي ضمن تصنيف معين؛ مع الفرق أنها تقوم أيضًا بجلب المقالات التي ضمن التصانيف الفرعية للتصنيف. وذلك حتى عمق 5 تصانيف فرعية.

مثلًا، لو أردنا جلب جميع أعضاء تصنيف:سياسيون لبنانيون مع الأخذ في الاعتبار التصانيف الفرعية:

deepcategory:"سياسيون لبنانيون"

لاحظ أن هذا البحث سيجلب جميع أعضاء تصنيف:سياسيون لبنانيون، والتصانيف الفرعية له مثل رؤساء لبنان، سياسيات لبنانيات...إلخ.

articletopic

عدل

تقوم هذه الخاصية بجلب جميع المقالات التي ضمن موضوع معين. تعتمد في التعرف على ذلك على خوارزمية ORES لنموذج تعلم الآلة. النتائج حتى الآن غير دقيقة بشكل تام، وإنما يمكن الاعتماد عليها بنسبة 60%.

توجد قائمة بالمواضيع المدعومة في هذه الخاصية في هذه الصفحة.

مثلًا، لو أردنا جلب جميع المقالات التي ضمن موضوع "تاريخ"، فبالاعتماد على القائمة في الرابط أعلاه، سنقوم بوضع:

articletopic:"history"

يُمكن الاستفادة من النتائج باستخدام هذه الخاصية لعملية تخصيص البذور، أو إضافة البوابات، أو تقييم المشاريع. ولكن ينبغي الانتباه أنه حتى الآن النتائج ليست دقيقة 100%.. فيُمكن العمل عليها بشكل نصف آلي.

علامة الشرطة

عدل

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

مثال. insource:"مثال" -> نفيها يكون -insource:"مثال" أي لا تحتوي على كلمة مثال. نفس الشيء يمنكن تطبيقه بسهولة على باقي الخواص السابقة.

أمثلة متقدمة

عدل

جلب جميع المقالات التي بحاجة لإضافة عنوان لرابط غير معنون في المصادر.

insource:/\<ref\>\[[^ ]{15,}\]\<\/ref\>/


جلب جميع المقالات التي بحاجة لإضافة قالب:مصدر

-insource:/\<ref/ -incategory:"صفحات بها مراجع ويكي بيانات" -hastemplate:"مصدر" -hastemplate:"مصدر وحيد" -hastemplate:"مصادر أكثر" -incategory:"مرجع من ويكي بيانات" -hastemplate:"سيرة شخصية غير موثقة" -hastemplate:"جرايز" -incategory:"بوابة تقويم/مقالات متعلقة" -hastemplate:"Sfn" -incategory:"صفحات توضيح"

مقالات بحاجة لإزالة قالب:مصدر منها

insource:/\<ref/ -hastemplate:"مصدر"

مقالات داخل تصنيف:أشخاص على قيد الحياة، بحاجة لبوابة:أعلام

incategory:"أشخاص على قيد الحياة" -incategory:"بوابة أعلام/مقالات متعلقة"

مقالات لا تحتوي وصلات داخلية، وتحتاج لقالب:نهاية مسدودة

-insource:/\[\[/ -incategory:"جميع مقالات النهاية المسدودة" -incategory:"صفحات توضيح"

في بعض المقالات، وبسبب سوء استخدام تنسيق الويكي من قبل المستخدمين الجدد، تكون المقالة تحتوي على صندوق معلومات؛ إلا أنه لا يقوم بعرض أي بيانات؛ بسبب وجود خطأ في تنسيق ويكي (مثل عدم إغلاق الوصلة). المثال التالي، يمكنك من البحث عن المقالات التي تحتوي على صندوق معلومات سير كرة قدم، وفي نفس الوقت، لا تحتوي على تصنيف:مقالات تستعمل قوالب معلومات. أي بمعنى أن قالب المعلومات لم يتم استدعاؤه بشكل صحيح.

"صندوق معلومات سيرة كرة قدم" -incategory:"مقالات_تستعمل_قوالب_معلومات"

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

articletopic:mathematics -incategory:"بوابة رياضيات/مقالات متعلقة" incategory:"مقالات بحاجة لشريط بوابات"

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

توليد القائمة باستخدام أوب

عدل

في حال كنت تفضل استخدام أوب في العمل، فيُمكنك استخدام الخواص السابقة في توليد قوائم محددة. عند بدء البرنامج، اختر من القائمة المنسدلة الخيار: "Wiki search text (all NS)"، ثم ضع الخواص المطلوبة في مربع النص الذي يوجد أسفل القائمة المنسدلة، ثم اضغط على زر Make list.

المزيد

عدل

يُمكنك مطالعة المزيد من الأمثلة من هذه الصفحة.