امی‌تیس یوسفی
امی‌تیس یوسفی
خواندن ۲ دقیقه·۵ سال پیش

الستیک‌سرچ از خیلی اول (قسمت ۱)

روزی روزگاری، بعد از مدت‌ها که، بنا به نیازهام، هر بار یه قسمت از الستیک‌سرچ رو یاد گرفته بودم و کارم رو راه انداخته بودم، تصمیم گرفتم که به خودم بیام و از اول، خیلی اول،‌ شروع کنم به مطالعه راجع بهش.

تو این مطلب و چندتا مطلب بعد قراره چیزایی که یاد گرفتم رو به اشتراک بذارم.



در مرحله‌ی اول لازم بود که بفهمم الستیک‌سرچ چه دردهایی از ما دوا می‌کنه.

الستیک‌سرچ یک ابزار تجزیه و تحلیل و یک موتور جست‌و‌جوی تمام‌متن و متن‌باز است.

همونطور که از اسمش مشخصه، معروف‌ترین و مهم‌ترین کاربرد الستیک‌سرچ، جست‌و‌جو و هر چیزی مربوط به اونه. اما این تنها کاری نیست که الستیک‌سرچ می‌تونه برامون انجام بده.

الستیک‌سرچ داده‌ها رو در قالب داکیومنت‌ها (Documents) ذخیره می‌کنه.

برای مثال، اگر با پایگاه‌های داده‌ی رابطه‌ای (Relational Databases) آشنا باشید، هر داکیومنت در الستیک‌سرچ شبیه به یک سطر در پایگاه داده است.

اطلاعات داکیومنت‌ها در فیلد‌ها (Fields) ذخیره می‌شن.

هر فیلد در الستیک‌سرچ رو شاید بشه به عنوان هر ستون در پایگاه داده در نظر گرفت.

این وسط به لیستی از کمپانی‌های معروفی که از الستیک‌سرچ برای جست‌و‌جوهاشون استفاده می‌کنن هم رسیدم:

  • Github
  • Facebook
  • Netflix
  • Soundcloud
  • Adobe
  • Firefox
  • WikiMedia
  • StackExchange
  • FourSquare

استک الستیک (Elastic Stack)

استک الستیک از تکنولوژی‌هایی تشکیل می‌شه که توسط شرکت حامی الستیک‌سرچ (Elasticsarch BV) ارائه می‌شن.


  1. کیبانا (Kibana): کیبانا می‌تونه به عنوان داشبورد الستیک‌سرچ معرفی بشه. ابزاری که به ما کمک می‌کنه تا داده‌های الستیک‌سرچ رو تصویری کنیم و اونا رو آنالیز کنیم تا بتونیم درک بهتری ازشون داشته باشیم.
  2. لاگستش (Logstash): معروف‌ترین و قدیمی‌ترین کاربرد لاگستش دریافت لاگ‌ها از اپلیکیشن و ارسال اون‌ها به الستیک‌سرچ بوده و هست. ولی لاگستش کاربردهای دیگه‌ای هم داره. برای مثال، لاگس‌تش می‌تونه لاگ‌ها رو به عنوان «رویداد» از ورودی‌های متفاوت بگیره، اون‌ها رو پردازش کنه، و به خروجی‌های مختلف بفرسته.
  3. ایکس‌پک (X-Pack): ایکس‌پک، در واقع، یک پک از ویژگی‌هاست که کاربردهایی رو به استک الستیک اضافه می‌کنه. مهم‌ترین اون‌ها امنیت، مانیتورینگ، هشدار، گزارش‌گیری، ماشین لرنینگ، گراف، و ویژگی جالب Elasticsearch SQL هستن.
  4. بیتس (Beats): بر اساس چیزهایی که یاد گرفتم، بیتس مجموعه‌ای از حمل‌کننده‌های داده‌ست که با اون‌ها می‌شه داده‌ها رو به لاگستش یا خود الستیک‌سرچ فرستاد. انواع مختلفی از این حمل‌کننده‌ها برای انواع مختلف داده وجود داره.

مطالب بعدی‌ای که یاد بگیرم رو تو قسمت‌های بعدی این پست باهاتون به اشتراک می‌ذارم.

ممنون که منو می‌خونید.

elasticsearchkibanalogstash
برنامه‌نویس وب، یه رویاپرداز حرفه‌ای، و بسیار علاقمند به #regex
شاید از این پست‌ها خوشتان بیاید