ما هو Elasticsearch؟

محركات البحث

ملخص

أصبح Elasticsearch ذائع الصيت وسط المطورين و العاملين في مجال تقنية المعلومات بصورة عامة. نعرض في هذال المقال توضيح مفصل ل Elasticsearch و ميزاته و حالات استخدامه

تعريف Elasticsearch

Elasticsearch هو محرك بحث يمكن من خلاله إجراء بحث بميزات متطورة على أي حجم من البيانات. يتيح لك Elasticsearch حفظ بيانات من انواع مختلفه واجراء عمليات البحث والتنقيه فيها بسرعة و كفاءة عالية. Elasticsearch هو جزء من مكدس ELK أو ELK Stack.

ما المقصود ب ELK Stack؟

مكدس ELK (غالبًا ما يشار إليها باسم Elasticsearch)، تتيح لك تجميع السجلات من جميع الأنظمة والتطبيقات الخاصة بك ، وتحليل هذه السجلات ، وإنشاء تصورات لمراقبة التطبيقات والبنية التحتية ، واستكشاف الأخطاء وإصلاحها بشكل أسرع ، وتحليلات الأمان.
"ELK" هو اختصار لثلاثة مشاريع مفتوحة المصدرو هي Elasticsearch و Logstash و Kibana.

  1. Elasticsearch هو محرك بحث وتحليلات. 
  2. Logstash عبارة عن خط أنابيب لمعالجة البيانات من جانب الخادم يستوعب البيانات من مصادر متعددة في وقت واحد ، ويحولها ، ثم يرسلها إلى "مخبأ" مثل Elasticsearch. 
  3. Kibana يتيح للمستخدمين تصور البيانات باستخدام المخططات والرسوم البيانية في Elasticsearch.

ماهي وظيفة Elasticsearch؟

Elastcisearch هو محرك بحث مقام الاول و من ثم فإن له حالات استخدام متعدده. اذا كان لديك اي نوع من البيانات النصية التي ترغب في تخزينها و إجراء عمليات البحث والتنقية عليها فإن Elasticsearch سيقوم بخدمه هذا الغرض. يمكنك Elasticsearch من البحث في أي حجم من البيانات المخزنة بسرعة فائقة.

هل Elasticsearch مجرد قاعدة بيانات؟

يتساءل البعض عن الفرق بين Elasticsearch و قواعد البيانات بشقيها العلائقيه وغير العلائقيه. في الواقع هذا التساؤل وجيه حيث ان قواعد البيانات و محركات البحث تتشابه في الوظائف التي تقوم بها.
تقوم كل من قواعد البيانات ومحركات البحث بتخزين البيانات واجراء عمليات البحث والتنقية عليها. ولكن يكمن الفرق الاساسي بين محركات البحث وقواعد البيانات في أن:

  • قواعد البيانات تقوم بتخزين البيانات و تتيح عمليات البحث والتنقية على البيانات المخزنه.
  • محركات البحث تقوم بعمليات البحث والتنقية على البيانات المخزنه و تتيح تخزين البيانات.

بمعنى اخر فان قواعد البيانات و محركات البحث تختلف في مركز القوة للمهمة الاساسيه التي تقوم بها.

متى تحتاج إلى استخدام Elasticsearch

كما ذكرنا سلفا فإن Elasticsearch هو محرك بحث و قد تحتاج إليه إذا كان لديك بيانات ترغب في البحث فيها. على سبيل المثال قد تستخدم Elasticsearch لبحث بياناتك المخزنة في قاعدة البيانات أو لبحث بياناتك المحفوظة في Log files.

حالات استخدام Elasticsearch

سنقدم فيما يلي بعض حالات الإستخدام الأكثر شيوعا ل Elasticsearch

1) بحث المواقع والتطبيقات

يمكنك استخدام Elasticsearch للسماح للمستخدمين بالبحث عن معلومات على موقع الويب الخاص بك. للقيام بذلك ، تحتاج إلى فهرسة جميع الصفحات في Elasticsearch. بهذه الطريقة ، يمكن للمستخدمين البحث عن كلمات في محتوى الصفحة ، وسيجد Elasticsearch جميع الصفحات التي تحتوي على هذه الكلمات. علاوة على ذلك ، ستتمكن من ضبط إعدادات Elasticsearch لفرز النتائج حسب الصلة ، والمعروفة أيضًا باسم ضبط الصلة (Relevance Tuning).

2) بحث و تحليلات سجلات Logs

يمكنك استخدام ELK Stack ، لتجميع وإرسال سجلات ومقاييس التطبيق إلى Elasticsarch للفهرسة ثم الوصول إليها للتحليل.

3) ذكاء الأعمال (BI)

على الرغم من أن مكدس ELK لم يتم تصميمه لحالات استخدام ذكاء الأعمال (BI)، إلا أن مكوناته قوية ومرنة بما يكفي لتلبية احتياجات ذكاء الأعمال. يمكن استخدام Logstash كمكون Extract-Transform-Load (ETL) ، ثم تحميل البيانات إلى Elasticsearch ، والتي تلعب دور مستودع البيانات (DW) ثم إتاحة هذه البيانات للتحليل والتصور باستخدام Kibana.