English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

مقدمة إلى Elasticsearch

إلستريكس هو خادم بحث يعتمد على Apache Lucene. تم تطويره من قبل Shay Banon وتم نشره في عام 2010. الآن يتم حفظه من قبل Elasticsearch BV. أحدث إصدار هو 7.0.0.

إلستريكس هو محرك بحث وتحليل متنشر مفتوح المصدر يتيح الوصول إليه من واجهة خدمة الويب RESTful ويستخدم مستندات JSON غير النمطية (نمط JavaScript Object Notation) لتخزين البيانات. تم بناؤه على لغة البرمجة Java، لذا يمكن تشغيل إلستريكس على منصات متعددة. يتيح للمستخدمين تصفح كميات كبيرة من البيانات بسرعة عالية.

الميزات

الميزات الشائعة لإلستريكس هي

  • يمكن توسيع إلستريكس إلى بيانات منظمات غير منظمة وغير منظمات تصل إلى حجم PB.

  • يمكن استخدام إلستريكس بدلاً منMongoDB وRavenDB كخزن للوثائق.

  • يستخدم إلستريكس التشريح غير الرسمي لتحسين أداء البحث.

  • إلستريكس هو محرك البحث التجاري الشائع، والذي يستخدمه حاليًا العديد من المنظمات الكبيرة مثل ويكيبيديا، الغارديان، StackOverflow، GitHub، وغيرها.

  • Elasticsearch هو مفتوح المصدر، يمكن استخدامه تحت رخصة Apache 2.0.

المفاهيم الرئيسية

المفاهيم الرئيسية لإlasticsearch كالتالي -

العقد

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

الجمعية

إنه مجموعة من عدة عقد. يوفر الكتلة وظائف الت索引 والتشغيل الجماعي عبر جميع العقد.

السجل

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

المستند

إنه مجموعة من الحقول معينة معينة بطريقة JSON. كل مستند ينتمي إلى نوع معين ويقع داخل المؤشر. كل مستند مرتبط بمعرف UID فريد.

القطعة

يتم تقسيم المؤشرات إلى أجزاء أفقية. هذا يعني أن كل جزء يحتوي على جميع خصائص المستندات، ولكن عدد جسام JSON التي يحتوي عليها أقل من المؤشر.

النسخ

يسمح Elasticsearch للمستخدمين بإنشاء نسخ من فئات الأنواع والفروع. يساعد التكرار ليس فقط في زيادة توفر البيانات عند حدوث فشل، بل أيضًا في تحسين أداء البحث من خلال تنفيذ عمليات بحث متوازية في هذه النسخ.

المزايا

  • تم تطوير Elasticsearch على Java، مما يجعله متوافقًا مع تقريبًا جميع المنصات.

  • Elasticsearch حقيقي الوقت، بمعنى أن المستندات التي يتم إضافتها بعد ثانية يمكن البحث عنها في هذا المحرك.

  • Elasticsearch موزعة، لذا يمكن توسيعها وتكاملها بسهولة في أي منظمة كبيرة.

  • إن إنشاء نسخة كاملة باستخدام مفهوم gateway بسيط جدًا، وهو مفهوم شائع جدًا في Elasticsearch.

  • على عكس Apache Solr، من السهل جدًا التعامل مع المأجورين في Elasticsearch.

  • يستخدم Elasticsearch جسمًا من JSON كإجابة، مما يتيح استخدام العديد من لغات البرمجة المختلفة للتفاعل مع خادم Elasticsearch.

  • إلا أن Elasticsearch تدعم تقريبًا جميع أنواع المستندات باستثناء أنواع المستندات التي لا تدعم عرض النصوص.

العيوب

  • في معالجة بيانات الطلبات والإجابات، لا يقدم Elasticsearch دعمًا لللغات المتعددة (متاح فقط في JSON)، بخلاف Apache Solr، الذي يمكنه التعامل مع صيغ CSV، XML و JSON.

  • في بعض الأحيان، قد يظهر مشكلة التشقق في Elasticsearch.

مقارنة بين Elasticsearch و RDBMS

في Elasticsearch، يشبه المؤشر جدول RDBMS (نظام إدارة قواعد البيانات العلاقاتي). كل جدول هو مجموعة من السطور، تمامًا مثل كل مؤشر هو مجموعة من المستندات في Elasticsearch.

الجدول أدناه يقوم بمقارنة مباشرة لهذه المصطلحات-

Elasticsearchنظام إدارة قواعد البيانات العلاقاتي (RDBMS)
الجمعيةالبيانات الأساسية
القطعةالقطعة
السجلالجدول
الحقلالعمود
المستندالسطر