كيفية إنشاء مؤشرات Elasticsearch

How Create Elasticsearch Indices



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

في هذا البرنامج التعليمي السريع ، سنلقي نظرة على Elasticsearch ، وتحديدًا كيفية إنشاء المؤشرات في محرك Elasticsearch. على الرغم من أنك لا تحتاج إلى أي معرفة شاملة حول ELK stack لمتابعة هذا البرنامج التعليمي ، إلا أن الفهم الأساسي للموضوعات التالية قد يكون مفيدًا:







  • باستخدام المحطة ، على وجه التحديد ، cURL
  • المعرفة الأساسية لواجهات برمجة التطبيقات و JSON
  • عمل طلب HTTP

ملاحظة: يفترض هذا البرنامج التعليمي أيضًا أنك قمت بتثبيت Elasticsearch وتشغيله على نظامك.



ما هي مؤشرات Elasticsearch؟

بدون المبالغة في تبسيط الأشياء أو تعقيدها ، فإن فهرس Elasticsearch عبارة عن مجموعة من مستندات JSON ذات الصلة.



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





دعنا نربط فهرس Elasticsearch كقاعدة بيانات في عالم SQL.

  • MySQL => قواعد البيانات => الجداول => الأعمدة / الصفوف
  • Elasticsearch => الفهارس => الأنواع => مستندات JSON ذات الخصائص

كيفية إنشاء فهرس Elasticsearch

يستخدم Elasticsearch واجهة برمجة تطبيقات REST قوية وبديهية لعرض خدماتها. تتيح لك هذه الوظيفة استخدام طلبات HTTP لإجراء عمليات على مجموعة Elasticsearch. لذلك ، سوف نستخدم واجهة برمجة تطبيقات إنشاء الفهرس لإنشاء فهرس جديد.



بالنسبة لهذا الدليل ، سنستخدم cURL لإرسال الطلبات والحفاظ على النزاهة وسهولة الاستخدام لجميع المستخدمين. ومع ذلك ، إذا واجهت أخطاء في cURL ، ففكر في استخدام Kibana Console.

صيغة إنشاء فهرس جديد في مجموعة Elasticsearch هي:

وضع /

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

يمكنك أيضًا تحديد ميزات مختلفة للفهرس ، مثل نص الفهرس:

  • إعدادات الفهرس
  • فهرس الأسماء المستعارة
  • التعيينات لحقول الفهرس

اسم الفهرس هو معلمة مطلوبة ؛ خلاف ذلك ، سوف تحصل على خطأ لـ URIL (/)

curl -X PUT المضيف المحلي: 9200
{'خطأ': 'أسلوب HTTP غير صحيح لـ uri [/] والطريقة [PUT] ، المسموح بها: [DELETE، HEAD، GET]'، 'الحالة': 405}

لإنشاء فهرس جديد باسم single_index ، نقوم بتمرير الطلب:

وضع / مؤشر_فردي

بالنسبة إلى cURL ، استخدم الأمر:

curl -X PUT 'المضيف المحلي: 9200 / single_index؟ pretty'

يجب أن ينتج عن هذا الأمر HTTP Status 200 OK ورسالة مع إقرار: صحيح على النحو التالي:

{
معترف به: صحيح ،
'الأجزاء_الاعتراف بها': صحيح ،
'index': 'single_index'
}

يقوم الطلب أعلاه بإنشاء فهرس مفرد بالإعدادات الافتراضية لأننا لم نحدد أي تكوينات.

قواعد تسمية الفهرس

عند إنشاء أسماء لمؤشرات Elasticsearch ، يجب عليك الالتزام بمعايير التسمية التالية:

  1. يجب أن يكون اسم الفهرس بالأحرف الصغيرة فقط.
  2. لا يمكن أن تبدأ أسماء الفهرس بشرطة (-) أو شرطة سفلية (_) أو علامة إضافة (+)
  3. لا يمكن أن تكون الأسماء. أو ..
  4. لا يمكن أن تتضمن أسماء الفهرس أحرفًا خاصة مثل: ، / ، * ،؟ ، ، ، | ، `(مسافة) ، ، ، #
  5. يجب أن يكون طول أسماء الفهارس أقل من 255 بايت. سيتم احتساب الأحرف متعددة البايت في الطول الإجمالي لاسم الفهرس. على سبيل المثال ، إذا كان طول حرف واحد 8 بايت ، فإن إجمالي الطول المتبقي للاسم هو 255-8
  6. في أحدث إصدار من Elasticsearch ، الأسماء التي تبدأ بحرف. محجوزة للمؤشرات المخفية والمؤشرات الداخلية التي تستخدمها الإضافات Elasticsearch.

كيفية إنشاء هيئة فهرس

عند استخدام طلب PUT لإنشاء فهرس ، يمكنك تمرير العديد من الوسائط التي تحدد إعدادات الفهرس الذي تريد إنشاءه. تشمل القيم التي يمكنك تحديدها في النص ما يلي:

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

للحصول على مثال لإنشاء فهرس مع تكوينات الجسم ، ضع في اعتبارك الطلب أدناه:

PUT / مؤشر_فردي_مع_جسم
{
'الإعدادات': {
'number_of_shards': 2 ،
'number_of_replicas': 2
} ،
التعيينات: {
'الخصائص': {
'field1': {'type': 'object'}
}
}
}

للحصول على طلب مكافئ لـ cURL:

curl -XPUT 'http: // localhost: 9200 / single_index_with_body' -H 'Content-Type: application / json' -d '{' settings ': {' number_of_shards ': 2،' number_of_replicas ': 2}،' mappings ' : {'خصائص': {'field1': {'type': 'object'}}}} '

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

بمجرد إرسال الطلب ، ستتلقى ردًا بحالة الطلب على النحو التالي:

{
معترف به: صحيح ،
'الأجزاء_الاعتراف بها': صحيح ،
'index': 'single_index_with_body'
}

يُظهر 'تم الإقرار به' ما إذا تم إنشاء الفهرس بنجاح في المجموعة ، بينما يوضح shards_acknowledged ما إذا كان العدد المطلوب من نسخ الأجزاء قد بدأ لكل جزء في الفهرس المحدد قبل انقضاء المهلة.

كيفية عرض مؤشر Elasticsearch

لعرض المعلومات حول الفهرس الذي قمت بإنشائه ، استخدم طلبًا مشابهًا لطلب إنشاء فهرس ، ولكن استخدم طريقة HTTP بدلاً من PUT على النحو التالي:

الحصول على / single_index_with_body

بالنسبة لـ cURL ،

curl -XGET http: // localhost: 9200 / single_index_with_body

سيعطيك هذا الأمر معلومات مفصلة حول الفهرس المطلوب على النحو التالي:

{
'الفهرس الفردي مع الجسم': {
'اسماء مستعارة' : { }،
'التعيينات': {
'الخصائص' : {
'field1': {
'type': 'object'
}
}
} ،
'الإعدادات' : {
'فهرس' : {
'التوجيه': {
'التخصيص': {
'يشمل' : {
'_tier_preference': 'data_content'
}
}
} ،
'number_of_shards': '2'،
'provide_name': 'single_index_with_body'،
'create_date': '1611045687208'،
'number_of_replicas': '2'،
'uuid': '3TRkO7xmQcSUOOGtb6pXVA' ،
'إصدار' : {
'إنشاء': '7100299'
}
}
}
}
}

استنتاج

ناقش هذا الدليل كيفية العمل مع Elasticsearch لإنشاء فهرس API لإنشاء مؤشرات جديدة. ناقشنا أيضًا كيفية إنشاء أسماء مناسبة للفهارس وإعدادات التكوين.

باستخدام هذا الدليل ، يمكنك الآن إنشاء وعرض الفهارس باستخدام Elasticsearch API.