أداة Recoll محرك البحث الاحترافي لأنظمة لينكس

نشره طريف في

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

ما أتحدّث عنه هو Recoll أداة البحث الشمولية لأسطح المكتب، والتي تغوص داخل ملفاتك للبحث عن الكلمات والعبارات المطابقة وتعود بنتائج بحث مُفصّلة. Recoll مبني على محرّك البحث القويّ Xapian المكتوب بلغة C++، مع مكتبات QT للواجهة المرئية.

Recoll

ما يختف به Recoll عن كلًا من Nepomuk (محرك البحث الافتراضي في KDE سابقًا) وَ Baloo (المحرك الجديد)، أن Recoll لا يعمل كخدمة في الخلفية daemon، وقد يُفسّر ذلك أنّه لا يُشكّل ثقل على أداء المعالج أثناء إنشاء وتحديث الفهارس، بالإضافة إلى سهولة إجراء البحوث المتقدمة من خلاله بذات الأسلوب الذي تستخدمه فيه غوغل على سبيل المثال.

التركيب

يتوفّر Recoll في مستودعات دبيان، أوبونتو، أوبن سوزا، آرش لينكس، وفيدورا. لذا لا يلزمك سوى استخدام مدير الحزم في توزيعتك للحصول على البرنامج. لتوسيع إمكانيات بحث Recoll يمكن تركيب الحزم التالية:
(أسماء الحزم مقتبسة من مستودعات دبيان، للمزيد من المعلومات انظر هنا):

sudo apt-get install antiword catdoc libimage-exiftool-perl poppler-utils pstotext python-chm python-mutagen unrtf untex  

أنواع الملفات المدعومة

بشكل مباشر يدعم Recoll البحث ضمن الصيغ التالية:

text, html, maildir and mailbox (أي البحث ضمن رسائلك في ثاندربيرد، إيفولوشن، ك.ميل وغيرها), Scribus files, Man pages.

يدعم Recoll الصيغ التالية بعد تثبيت المكتبات الإضافية أعلاه: ملفات: أوفيس غنوم (Abiword، Gnumeric)، مايكروسوفت أوفيس، ليبرأوفيس، svg، pdf، ملفات الأرشيف مثل zip rar tar الخ، الأوسمة tags الخاصة بملفات الأوديو، أوسمة ملفات الصور، ملفات RTF والقائمة تطول.

الاستخدام الأول

عند فتح البرنامج للمرّة الأولى ستظهر لك نافذة تعرض عليك ثلاث خيارات، إما تعديل الإعدادات الافتراضية، جدولة إنشاء الفهرس لاحقًا، أو الفهرسة الآن. اضغط على خيار الفهرسة الآن فالإعدادات الافتراضية مناسبة كما أن العملية لن تأخذ الكثير من الوقت أو موارد الجهاز (ساعة من الزمن لكل تيرابايت!).
بعد اكتمال الفهرسة يمكنك تجريب البحث، اكتب العبارة التي تريد واضغط Enter لتحصل فورًا على النتائج. تُعرض النتائج باسم الملف مع خيارين لفتحه Open أو استعراضه بشكل سريع Preview، بالإضافة إلى معلومات أخرى مثل المسار، الحجم، النوع، واقتباس من مضمون الملف.
واجهة البرنامج تُقدّم خيارات تخصيص سريعة، مثل البحث في ملفات الميديا فقط، الأوديو، الجداول البيانية، الملفات النصيّة، البحث على نطاق اسم الملف فقط، أو تخصيص البحث حسب اللغة.

ضبط الإعدادات

من قائمة Preference اختر Indexing configuration للوصول إلى إعدادات الفهرس.

Settings

هنا لدينا خيارين مهمين الأول هو Top directories وهي المجلدات التي تتم فهرستها وإظهار النتائج منها، بشكل افتراضي يُفهرس البرنامج مجلد المنزل ~ وما يضمه من أدلة، يمكنك إضافة المزيد عبر النقر على زر +.
الخيار الثاني هو Skipped paths المسارات المُهملة، أضف المسارات هنا ليتم تجاهل فهرستها، مثلا مجلد الأيقونات داخل مجلد المنزل.
بعد ضبط الإعدادات بالأسلوب الذي يناسبك اذهب إلى قائمة File واختر Update indexing لتحديث الفهرس. يمكنك أيضًا ضبط البرنامج ليجدول تحديث الفهرسة بشكل تلقائي من قائمة Preference ثم Indexing schedule، هنا لدينا خيارين إما استخدام Cron لتوقيت وجدولة الفهرسة، أو تحديث الفهارس مع بدء تشغيل البرنامج.
في المثال أدناه ضبطت التحديث كل يوم الساعة التاسعة والربع صباحًا.

Cron

تلميحات عامة:

تعامل مع Recoll كما تتعامل مع أي محرك بحث آخر مثل duckduckgo أو غوغل.

  • ضع إشارات الاقتباس حول العبارة التي تريد البحث عنها كما هي.
  • ضع إشارة الناقص (-) لتستثني النتائج التي تضم كلمة معينة.
  • استخدام النجمة () في كلمة بدلًا من محرف ما لتنويع النتائج، مثلا البحث "بب"، سوف يُظهر نتائج تضم: باب، بوب، بيب إلخ
  • استخدم OR لتفصل بين الكلمات للبحث عن واحدة منها.

البحث المتقدم

من قائمة Tools يمكن الوصول إلى Advanced Search لإجراء عمليات البحث المتقدمة. من هنا يمكننا بناء نموذج استعلام عبر مجموعة من البنود clauses لتخصيص النتائج التي نحصل عليها. لنأخذ مثال عملي يُوضّح إمكانيات البرنامج:

AdvancedSearch

في البند الأول سأختارAll من القائمة المنسدلة الأولى (مطابقة جميع الكلمات)، author من القائمة المنسدلة الثاني، وفي الخانة المقابلة سأكتب "طريف". من البند الثاني سأختار None (ولا واحدة من الكلمات) من القائمة المنسدلة الأولى مع Keywords من القائمة المنسدلة الثانية، وفي الخانة المقابلة سأكتب "صحافة". في البند الثالث سأضع الخيارات التالية: استعلام عن اللاحقة ext وسأضع في الخانة المقابلة "docx,doc,odt”، انتبه إلى اختياري نمط البحث any من القائمة المنسدلة الأولى لتتم مطابقة أيّ من هذه الأنواع. كيف سيعمل البرنامج؟ يبدأ Recoll بالبحث وفق الاستعلام الأول، والذي يطلب منه التفتيش عن الملفات التي تضم في حقل author من البيانات الوصفية Metadata كلمة "طريف".
النتائج المُتحصّل عليها من هذا الاستعلام ستمر بالفلتر الثاني فتُستبعد جميع النتائج التي تحتوي كلمة "صحافة" في كلماتها المفتاحية.
وأخيرًا ستُغربل النتائج وفق الاستعلام الثالث والذي يقبل فقط أنواع الملفات التالية docx,doc,odt. وهكذا ستظهر النتائج التي تحقق هذه الشروط الثلاثة معًا.

المزيد من إمكانيات التخصيص موجودة تحت علامة التبويب Filter في نافذة Advanced Search والتي تشمل إمكانية إظهار النتائج التي تمّ تعديلها في يوم محدد، أو التي يقع حجمها بين نطاق ما، وتخصيصات أخرى.

بدائل أخرى

يتوفّر Recoll لبيئة ويندوز، وماك أو إس أيضًا. مستخدمو غنوم شل يمكنهم إلقاء نظرة على أداة Tracker الافتراضية. مستخدمو البيئات الأخرى، ومن يرغب بتجربة برامج بديلة، يمكنهم الحصول على docfetcher و searchmonkey أيضًا.