تضامنًا مع حق الشعب الفلسطيني |
أرابيكا:بحث متقدم
في جميع مواقع ويكيميديا؛ يتم تفعيل امتداد (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:"سياسيون لبنانيون"
لاحظ أن هذا البحث سيجلب جميع أعضاء تصنيف:سياسيون لبنانيون، والتصانيف الفرعية له مثل رؤساء لبنان، سياسيات لبنانيات...إلخ.
علامة الشرطة
تُستخدم هذه الخاصية في نفي الشرط عن البحث. ويُمكن استخدامها مع أي من الخواص السابقة. وذلك بوضعها قبل الشرط مباشرة بدون أي مسافة. وبذلك يتعرف نظام البحث على أن المقصود هو عكس العبارة.
مثال. 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:"صفحات توضيح"
توليد القائمة باستخدام أوب
في حال كنت تفضل استخدام أوب في العمل، فيُمكنك استخدام الخواص السابقة في توليد قوائم محددة. عند بدء البرنامج، اختر من القائمة المنسدلة الخيار: "Wiki search text (all NS)"، ثم ضع الخواص المطلوبة في مربع النص الذي يوجد أسفل القائمة المنسدلة، ثم اضغط على زر Make list.
المزيد
يُمكنك مطالعة المزيد من الأمثلة من هذه الصفحة.