معرفی Elasticsearch و ویژگی های آن

معرفی Elasticsearch 2

در این مقاله قصد داریم به معرفی Elasticsearch و ویژگی های آن بپردازیم و همچنان برخی از مهم ترین سوالات کاربرانمان را پاسخ دهیم. لطفا در ادامه برای درک این مطلب با ما همراه باشید.

معرفی Elasticsearch

Elasticsearch یک موتور جستجو و تجزیه و تحلیل منبع باز و توزیع شده برای همه انواع داده ها، از جمله متن، عددی، زمین شناسی، ساختاری و بدون ساختار می باشد. Elasticsearch بر پایه ی Apache Lucene ساخته شده است و اولین بار در سال 2010 توسط Elasticsearch N.V. (اکنون به عنوان Elastic شناخته می شود) ارائه شد. Elasticsearch که به دلیل API های ساده REST، ماهیت، سرعت و مقیاس پذیری توزیع شده شناخته شده است، یکی از اجزای اصلی Elastic Stack است، مجموعه ای از ابزارهای منبع باز برای مصرف داده ها، غنی سازی، ذخیره سازی، تجزیه و تحلیل و تجسم. معمولاً به عنوان ELK Stack (بعد از Elasticsearch ،Logstash و Kibana) گفته می شود، الاستیک Elastic Stack اکنون شامل مجموعه ای غنی از عوامل حمل و نقل سبک است که به عنوان بیت برای ارسال داده به Elasticsearch شناخته می شود.

معرفی کاربرد های Elasticsearch

سرعت و مقیاس پذیری Elasticsearch و توانایی آن در ایندکس کردن انواع مختلف محتوا بدین معنی است که می توان برای تعدادی از موارد از آن استفاده کرد:

  • آنالیز امنیتی
  • جستجوی برنامه
  • جستجوی سازمانی
  • جستجوی وب سایت
  • تجزیه و تحلیل تجارت
  • نظارت بر عملکرد برنامه
  • تجزیه و تحلیل داده های جغرافیایی و تجسم
  • معیارهای زیرساخت و نظارت بر container 
  • ورود به سیستم و تجزیه و تحلیل ورود به سیستم
معرفی Elasticsearch و ویژگی های آن

نحوه کار Elasticsearch

داده های خام از منابع مختلفی از جمله سیاهه ها، معیارهای سیستم و برنامه های وب وارد Elasticsearch می شوند. هضم داده ها فرایندی است که با استفاده از آن داده های خام قبل از نمایه سازی در Elasticsearch، تجزیه و تحلیل می شوند. پس از نمایه شدن در Elasticsearch ، کاربران می توانند نمایش داده های پیچیده را در برابر داده های خود اجرا کنند و از جمع آوری برای بازیابی خلاصه های پیچیده از داده های خود استفاده کنند. از Kibana، کاربران می توانند تصویری قدرتمند از داده های خود ایجاد کنند، داشبورد به اشتراک بگذارند و Elastic Stack را مدیریت کنند.

شاخص Elasticsearch

فهرست Elasticsearch مجموعه ای از اسنادی است که به یکدیگر مرتبط هستند. Elasticsearch داده ها را به عنوان اسناد JSON ذخیره می کند. هر سند مجموعه ای از کلیدها (نام فیلدها یا خصوصیات) را با مقادیر مربوط به آنها (رشته ها، اعداد، Booleans، تاریخ، آرایه ای از مقادیر، موقعیت جغرافیایی، یا انواع دیگر داده ها) مرتبط می کند. Elasticsearch از یک ساختار داده به نام یک شاخص معکوس استفاده می کند که به منظور جستجوی سریع متن کامل طراحی شده است. یک فهرست معکوس هر کلمه منحصر به فردی را که در هر مدرک ظاهر می شود، لیست می کند و تمام اسنادی را که هر کلمه در آن رخ می دهد، شناسایی می کند. در طی فرآیند نمایه سازی، Elasticsearch اسناد را ذخیره می کند و یک شاخص معکوس ایجاد می کند تا بتواند اطلاعات مربوط به اسناد را در زمان واقعی جستجو کند. نمایه سازی با API فهرست آغاز می شود، از طریق آن می توانید یک سند JSON را در یک فهرست خاص اضافه یا به روز کنید.

کاربرد Logstash

Logstash، یکی از محصولات اصلی Elastic Stack، برای جمع آوری و پردازش داده ها و ارسال آن به Elasticsearch استفاده می شود. Logstash یک منبع باز، خط لوله پردازش داده سمت سرور است که شما را قادر می سازد داده ها را از چندین منبع به طور همزمان هضم کرده و قبل از نمایه شدن به Elasticsearch، آن را غنی سازی و تبدیل کنید.

کاربرد کیبانا

Kibana یک ابزار مدیریت و تجسم داده برای Elasticsearch است که هیستوگرام در زمان واقعی، نمودار خط، نمودار pie و نقشه را در اختیار شما قرار می دهد. Kibana همچنین شامل برنامه های پیشرفته ای مانند Canvas است که به کاربران امکان می دهد بر اساس داده های خود، اینفوگرافیک های پویا سفارشی ایجاد کنند و نقشه های الاستیک را برای تجسم داده های جغرافیایی ارائه دهند.

دلایل استفاده از Elasticsearch

Elasticsearch سریع است. از آنجا که Elasticsearch در بالای Lucene ساخته شده است، در جستجوی متن می شود گفت که کامل است. Elasticsearch همچنین یک سکوی جستجو در زمان واقعی است، به این معنی که تأخیر از زمان ایندکس شدن یک سند تا زمان جستجو، بسیار کوتاه است و به طور معمول یک ثانیه زمان می برد. در نتیجه، الاستیک جستجو برای موارد حساس به زمان مانند تحلیل های امنیتی و نظارت بر زیرساخت ها مناسب است. Elasticsearch توسط طبیعت توزیع می شود. اسناد ذخیره شده در Elasticsearch در ظروف مختلفی به نام shards توزیع می شوند که برای تهیه نسخه های اضافی از داده ها در صورت خرابی سخت افزار، کپی شده اند. در نتیجه، الاستیک جستجو برای موارد حساس به زمان مانند تحلیل های امنیتی و نظارت بر زیرساخت ها مناسب است.

Elasticsearch دارای طیف گسترده ای از ویژگی ها است. علاوه بر سرعت، مقیاس پذیری و انعطاف پذیری، Elasticsearch دارای چندین ویژگی داخلی است که باعث می شود ذخیره و جستجو در داده ها حتی کارآمدتر شود، مانند جمع آوری داده ها و مدیریت چرخه شاخص. Elastic Stack، مصرف داده، تجسم و گزارش را ساده می کند. ادغام با Beats و Logstash پردازش داده ها را قبل از نمایه سازی در Elasticsearch آسان می کند و Kibana تجسم در زمان واقعی داده های Elasticsearch و همچنین UI ها را برای دسترسی سریع به نظارت بر عملکرد برنامه (APM)، سیاهه های مربوط و داده های معیارهای زیرساخت فراهم می کند.

معرفی Elasticsearch

معرفی گزینه های استقرار Elasticsearch

Elasticsearch می تواند به عنوان یک سرویس میزبانی شده و مدیریت شده از طریق سرویس Elasticsearch (موجود در سرویس های وب آمازون (AWS) ، Google Cloud Platform (GCP) و Alibaba Cloud)) مستقر شود، یا می توانید آن را بر روی سخت افزار خود یا در هاست ابری نصب کنید. اسناد Elasticsearch دستورالعمل بارگیری، نصب و پیکربندی Elasticsearch را ارائه می دهد. برای کاربرانی که مایل به تهیه، مدیریت و نظارت بر استقرار خود از یک کنسول واحد هستند اما ترجیح می دهند از یک میزبانی ابر اشتراکی استفاده نکنند، Elastic همچنین Elastic Cloud Enterprise را ارائه می دهد (که می تواند در ابرهای عمومی یا خصوصی، ماشین های مجازی یا فلز برهنه مستقر شود). سخت افزار) و همچنین یک ردیف اشتراک خصوصی.

معرفی زبان های برنامه نویسی که Elasticsearch از آن ها استفاده می کند

Elasticsearch از زبانهای مختلفی پشتیبانی می کند و مشتریان رسمی برای هر کدام از این موارد در دسترس هستند:

  • Java
  • (JavaScript (Node.js
  • Go
  • (#NET (C.
  • PHP
  • Perl
  • Python
  • Ruby
Logstash برای چه مواردی استفاده می شود؟

Logstash، یکی از محصولات اصلی Elastic Stack، برای جمع آوری و پردازش داده ها و ارسال آن به Elasticsearch استفاده می شود. Logstash یک منبع باز، خط لوله پردازش داده سمت سرور است که شما را قادر می سازد داده ها را از چندین منبع به طور همزمان هضم کرده و قبل از نمایه شدن به Elasticsearch، آن را غنی سازی و تبدیل کنید.

Kibana برای چه مواردی استفاده می شود؟

Kibana یک ابزار مدیریت و تجسم داده برای Elasticsearch است که هیستوگرام در زمان واقعی، نمودار خط، نمودار پای و نقشه را در اختیار شما قرار می دهد. Kibana همچنین شامل برنامه های پیشرفته ای مانند Canvas است که به کاربران امکان می دهد بر اساس داده های خود، اینفوگرافیک های پویا سفارشی ایجاد کنند و نقشه های الاستیک را برای تجسم داده های جغرافیایی ارائه دهند.

چه کسی می تواند در پروژه Elasticsearch مشارکت کند؟

Elasticsearch یک پروژه منبع باز است که توسط الاستیک اداره می شود. پایه کد شامل کمک های توسعه دهندگان در داخل و خارج از Elastic است. هر کس می تواند درخواست انصراف را در مخزن Elasticsearch GitHub ارسال کند. الاستیک قبل از ادغام آن ها در پایه کد، یک بررسی شفاف از همه درخواستهای کشش انجام می دهد.

آیا Elasticsearch API های REST را ارائه می دهد؟

بله، Elasticsearch مجموعه ای کامل و قدرتمند از API های REST را برای انجام کارهایی از قبیل بررسی سلامت خوشه، انجام CRUD (ایجاد، خواندن، به روزرسانی و حذف) و عملیات جستجو در برابر شاخص ها و اجرای عملیات جستجوی پیشرفته مانند فیلتر و جمع آوری فراهم می کند.

امیدوارم با مطالعه مقاله معرفی Elasticsearch به صورت کامل با Elasticsearch آشنا شده باشید.

Total
0
Shares
دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.

پست قبلی
تاخیر و پهنای باند

تاثیر تاخیر (Latency) و پهنای باند (Bandwidth) بر عملکرد وب سایت

پست بعدی
آموزش SNI

SNI یا نشانگر نام سرور چیست و چه کاربردی دارد؟

پست های مرتبط