Elasticsearch چیست؟
Elasticsearch یک موتور جستجو و تحلیل توزیعشده است که بر پایه آپاچی لوسن ساخته شده است. از زمان انتشار آن در سال ۲۰۱۰، Elasticsearch به سرعت به محبوبترین موتور جستجو تبدیل شده و معمولاً برای تحلیل لاگها، جستجوی متن کامل، اطلاعات امنیتی، تحلیل کسبوکار و موارد استفاده اطلاعات عملیاتی به کار میرود.
در ۲۱ ژانویه ۲۰۲۱، شرکت Elastic NV اعلام کرد که استراتژی مجوز نرمافزار خود را تغییر داده و نسخههای جدید Elasticsearch و کیبانا را تحت مجوز مجاز آپاچی، نسخه ۲.۰ (ALv2) منتشر نخواهد کرد. در عوض، نسخههای جدید نرمافزار تحت مجوز Elastic ارائه خواهند شد، با کد منبع موجود تحت مجوز Elastic یا SSPL. این مجوزها منبع باز نیستند و همان آزادیهای قبلی را به کاربران ارائه نمیدهند. برای اطمینان از اینکه جامعه منبع باز و مشتریان ما همچنان یک مجموعه جستجو و تحلیل امن، با کیفیت بالا و کاملاً منبع باز داشته باشند، پروژه OpenSearch را معرفی کردیم، یک فورک تحت مجوز ALv2 و مبتنی بر جامعه از Elasticsearch و کیبانا منبع باز.
Elasticsearch چگونه کار میکند؟
شما میتوانید دادهها را به صورت اسناد JSON با استفاده از API یا ابزارهای دریافت داده مانند Logstash و Amazon Data Firehose به Elasticsearch ارسال کنید. Elasticsearch به طور خودکار سند اصلی را ذخیره کرده و یک مرجع قابل جستجو به سند در فهرست کلاستر اضافه میکند. سپس میتوانید با استفاده از API Elasticsearch سند را جستجو و بازیابی کنید. همچنین میتوانید از کیبانا، یک ابزار تجسم، همراه با Elasticsearch برای تجسم دادههای خود و ساخت داشبوردهای تعاملی استفاده کنید.
مزایای Elasticsearch
- زمان ارزشدهی سریع:
- Elasticsearch APIهای ساده مبتنی بر REST، یک رابط HTTP ساده ارائه میدهد و از اسناد JSON بدون طرحواره استفاده میکند، که شروع کار و ساخت سریع برنامهها برای موارد استفاده مختلف را آسان میکند.
- عملکرد بالا:
- ماهیت توزیعشده Elasticsearch آن را قادر میسازد تا حجم زیادی از دادهها را به صورت موازی پردازش کرده و به سرعت بهترین تطابقها را برای پرسوجوهای شما پیدا کند.
- ابزارها و پلاگینهای مکمل:
- Elasticsearch با کیبانا، یک ابزار تجسم و گزارشدهی محبوب، یکپارچه شده است. همچنین با Beats و Logstash ادغام میشود و به شما کمک میکند دادههای منبع را به راحتی تبدیل کرده و در کلاستر Elasticsearch خود بارگذاری کنید. همچنین میتوانید از پلاگینهای منبع باز Elasticsearch مختلف مانند تحلیلگرهای زبان و پیشنهاددهندهها برای افزودن قابلیتهای غنی به برنامههای خود استفاده کنید.
- عملیات تقریباً بلادرنگ:
- عملیات Elasticsearch مانند خواندن یا نوشتن داده معمولاً کمتر از یک ثانیه طول میکشد. این امر به شما امکان میدهد از Elasticsearch برای موارد استفاده تقریباً بلادرنگ مانند نظارت بر برنامه و تشخیص ناهنجاری استفاده کنید.
- توسعه آسان برنامه:
- Elasticsearch از زبانهای مختلفی از جمله جاوا، پایتون، PHP، جاوا اسکریپت، Node.js، روبی و بسیاری دیگر پشتیبانی میکند.