آموزش الستیک سرچ (Elasticsearch)

دسته بندی: فریمورک ها

آموزش الستیک سرچ

آنچه در این صفحه می خوانید:

معرفی الستیک ‌سرچ (Elasticsearch)

Elasticsearch یک سرور جستجوی مبتنی بر Apache Lucene می باشد که توسط Shay Banon توسعه یافته و در سال 2010 منتشر شده است. در حال حاضر توسط Elasticsearch BV نگهداری می شود و آخرین نسخه آن 2.1.0 می باشد. Elasticsearch یک موتور جستجو و آنالیز توزیع شده در full-text ،real-time و اوپن سورس است. از رابط سرویس وب RESTful قابل دسترسی است و از اسناد JSON برای ذخیره داده ها استفاده می کند. با زبان برنامه نویسی جاوا ساخته شده است که Elasticsearch را قادر می سازد تا بر روی سیستم عامل های مختلف اجرا شود. این امکان را برای کاربران فراهم می کند تا حجم بسیار زیادی از داده ها را با سرعت بسیار بالا جستجو کنند.

Elasticsearch یک موتور جستجو بر اساس کتابخانه Lucene است. این یک موتور جستجوی متن کامل و دارای قابلیت چند رسانه ای توزیع شده با رابط وب HTTP و اسناد JSON بدون طرح را فراهم می کند. Elasticsearch در جاوا توسعه یافته است. به دنبال یک مدل کسب و کار با هسته آزاد، بخش هایی از این نرم افزار تحت مجوزهای اوپن سورس مختلف (عمدتا با مجوز Apache) مجوز می گیرند، در حالی که سایر قسمت ها تحت مجوز الاستیک اختصاصی (در دسترس منبع) قرار می گیرند. مشتریان رسمی در جاوا، سی شارپ، پی اچ پی، پایتون، آپاچی گرووی، روبی و بسیاری از زبان های دیگر در دسترس هستند. طبق رتبه بندی DB-Engines، Elasticsearch محبوب ترین موتور جستجوی شرکت است که توسط Apache Solr نیز دنبال می شود، همچنین مبتنی بر Lucene است.

تاریخچه الستیک ‌سرچ (Elasticsearch)

شای بانون پیشرو الاستیک جستجو با نام قطب نما را در سال 2004 ایجاد کرد. در حالی که به نسخه سوم قطب نما فکر می کرد، متوجه شد که برای بازنویسی قسمت های بزرگ قطب نما برای ایجاد "یک راه حل جستجوی مقیاس پذیر" ضروری است. بنابراین او "راه حل ساخته شده از سطح زمین برای توزیع" ایجاد کرد و از یک رابط مشترک، JSON over HTTP استفاده کرد که برای زبان های برنامه نویسی غیر از جاوا نیز مناسب است. Shay Banon نسخه اول Elasticsearch را در فوریه 2010 منتشر کرد.

Elastic NV در سال 2012 برای ارائه خدمات و محصولات تجاری در اطراف Elasticsearch و نرم افزارهای مرتبط تاسیس شد. در ژوئن سال 2014، این شرکت از جمع آوری 70 میلیون دلار در دور بودجه سری C، تنها 18 ماه پس از تشکیل شرکت خبر داد. این دور توسط New Enterprises Associates (NEA) هدایت می شد. سرمایه گذاران اضافی شامل Benchmark Capital و Index Ventures هستند. این دور کل بودجه را به 104 میلیون دلار رساند.

در مارس 2015، شرکت Elasticsearch نام خود را به الاستیک تغییر داد. در ژوئن سال 2018، الاستیک با ارائه تخمین زده شده بین 1.5 تا 3 میلیارد دلار، درخواست اولیه عمومی را ارائه داد. در 5 اکتبر 2018، Elastic در بورس اوراق بهادار نیویورک ثبت شد.

ویژگی های الستیک ‌سرچ (Elasticsearch)

از Elasticsearch می توان برای جستجوی انواع اسناد استفاده کرد. این جستجوی مقیاس پذیر را فراهم می کند، تقریباً در real-time جستجو دارد و از یکپارچگی پشتیبانی می کند. "Elasticsearch توزیع شده است، این بدان معناست که می توان شاخص ها را به قسمتهای جداشده تقسیم کرد و هر یک از قطعات دارای صفر یا تعداد بیشتری تکرار هستند. مسیریابی به صورت خودکار انجام می شود ". داده های مرتبط اغلب در همان فهرست ذخیره می شوند، که از یک یا چند بخش اصلی و صفر یا بیشتر از بخش های ماکت تشکیل شده است. پس از ایجاد یک فهرست، تعداد شاخه های اصلی قابل تغییر نیست.

Elasticsearch در کنار موتور جمع آوری داده ها و موتور تجزیه-Log به نام Logstash، یک سکوی تحلیلی و ویژوال به نام Kibana، و Beats، مجموعه ای از ارسال کننده های سبک وزن تولید شده است. این چهار محصول برای استفاده به عنوان یک راه حل یکپارچه طراحی شده اند که از آن به عنوان "پشته الاستیک" (قبلاً "پشته ELK" یاد می شود).

Elasticsearch از Lucene استفاده می کند و سعی می کند تا تمام ویژگی های آن را از طریق JSON و Java API در دسترس قرار دهد. این پشتیبانی از جبهه و نفوذ، که می تواند برای اطلاع در مورد مطابقت اسناد جدید برای نمایش داده شد ثبت شده مفید باشد. ویژگی دیگر "دروازه" نامیده می شود و ماندگاری طولانی مدت این شاخص را در اختیار دارد. به عنوان مثال، در صورت خرابی سرور می توان یک شاخص را از دروازه بازیابی کرد. Elasticsearch از درخواست GET در real-time پشتیبانی می کند، و این باعث می شود آن را به عنوان یک پایگاه داده NoSQL مناسب کنید، اما فاقد معاملات توزیع شده است.

در تاریخ 20 مه 2019، Elastic ویژگی های اصلی امنیتی Elastic Stack را بطور رایگان در دسترس قرار داد، از جمله TLS برای ارتباطات رمزگذاری شده، فایل و قلمرو بومی برای ایجاد و مدیریت کاربران و کنترل دسترسی مبتنی بر نقش برای کنترل دسترسی کاربر به API های خوشه ای و فهرست ها کد منبع مربوطه با مجوز منبع در دسترس است "مجوز الاستیک" در دسترس است.

از دیگر ویژگی های الستیک سرچ می توان به موارد زیر اشاره کرد:

  • مقیاس پذیری تا petabyte های داده های ساختار یافته و بدون ساختار
  • استفاده به عنوان جایگزین ذخیره کننده سند مانند مانگو دی بی و RavenDB
  • استفاده از لغو نرمال سازی برای بهبود عملکرد جستجو
  • Elasticsearch یکی از موتورهای جستجوی شرکت های محبوب است که در حال حاضر توسط بسیاری از سازمان های بزرگ مانند ویکی پدیا، گاردین، StackOverflow، GitHub و غیره استفاده می شود.
  • Elasticsearch در جاوا توسعه داده می شود که تقریبا در هر پلتفرمی سازگار است.
  • Elasticsearch real-time است، به عبارت دیگر پس از یک ثانیه سند اضافه شده در این موتور جستجو می شود.
  • Elasticsearch توزیع شده است، که در هر سازمان بزرگی مقیاس پذیری و یکپارچه سازی را آسانتر می کند.
  • در مقایسه با Apache Solr، مدیریت multi-tenancy آسان تر است
  • Elasticsearch از اشیاء جی سان به عنوان پاسخ ها استفاده می کند
  • Elasticsearch تقریبا از هر نوع سندی پشتیبانی می کند، به جز آنهایی که رندر متن را پشتیبانی نمی کنند.

سرویس های مدیریتی الستیک ‌سرچ (Elasticsearch)

Elastic Cloud از مالکیت یافت شده در سال 2015 ایجاد شده است، خانواده ای از پیشنهادات SaaS با پشتیبانی Elasticsearch است که شامل سرویس Elasticsearch، همچنین سرویس جستجوی برنامه الاستیک و سرویس جستجوی سایت الاستیک است که از طریق کسب Swiftype الاستیک طراحی شده است. در اواخر سال 2017، الاستیک همکاری با Google را برای ارائه Elastic Cloud در GCP و Alibaba برای ارائه Elasticsearch و Kibana در Alibaba Cloud ایجاد کرد.

Elasticsearch Service on Elastic Cloud ارائه دهنده رسمی و مدیریت شده Elasticsearch و Kibana از سازندگان این پروژه است که از آگوست سال 2018 کاربران Elasticsearch Service می توانند استقرارهای ایمن را با شرکای خود، Google Cloud Platform و Alibaba Cloud ایجاد کنند. AWS از سال 2015 Elasticsearch را به عنوان یک سرویس مدیریت شده ارائه می دهد. این سرویس های مدیریت شده میزبانی، استقرار، تهیه نسخه پشتیبان و پشتیبانی دیگر را ارائه می دهند. بیشتر خدمات مدیریت شده همچنین شامل پشتیبانی از Kibana است.

Elasticsearch اساس مشارکت پانژانیک در پروژه تحقیقاتی "EXPERT" ماری کوری در اتحادیه اروپا به نام ActivaTM است. Pangeanic یک بانک اطلاعاتی دو زبانه سازگار با ابزارهای ترجمه به کمک رایانه ساخته است، که می تواند دسترسی به real-time را از طریق API از انواع ابزارها ارائه دهد. این پروژه بودجه بیشتری از اتحادیه اروپا به عنوان پروژه حافظه ترجمه ملی و اروپایی مرکزی تحت برنامه تسهیلات اتصال اروپا (CEF) دریافت کرد. NEC TM قصد دارد تا دارایی های ملی ترجمه را در همه کشورهای عضو اتحادیه اروپا متمرکز کند تا کشورها بتوانند از داده های ترجمه دو زبانه تولید شده در نتیجه قراردادهای تهیه عمومی استفاده مجدد کنند.

آشنایی با AWS Elasticsearch

آشنایی با آمازون وب سرویس الستیک سرچ

Amazon Elasticsearch Service یک سرویس کاملاً مدیریت شده است که امکان استقرار، امنیت و اجرای Elasticsearch را با مقیاس مقرون به صرفه برای شما آسان می کند. شما می توانید برنامه های خود را با استفاده از ابزاری که دوست دارید، در مقیاس موردنیاز خود بسازید، نظارت و عیب یابی کنید. این سرویس پشتیبانی از API های Elasticsearch اوپن سورس، مدیریت Kibana، ادغام با Logstash و سایر خدمات AWS و هشدار داخلی و پرس و جو SQL را انجام می دهد. سرویس Elasticsearch آمازون به شما امکان می دهد فقط هزینه آنچه را که استفاده می کنید پرداخت کنید، هیچ هزینه ای در پیشبرد یا الزامات استفاده وجود ندارد. با سرویس آمازون الاستیک جستجو، پشته ELK مورد نیاز خود را دریافت می کنید، بدون آن که سربار عملیاتی باشد.

آشنایی با Kibana در الستیک ‌سرچ (Elasticsearch)

کیبانا در الستیک سرچ

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

ترکیب Elasticsearch، Logstash و Kibana، که از آن به عنوان "Stack Elastic" (که قبلاً "پشته ELK" نامیده می شد) نامیده می شود، به عنوان یک محصول یا خدمات در دسترس است. Logstash جریان ورودی به Elasticsearch را برای ذخیره سازی و جستجو فراهم می کند، و Kibana به داده های ویژوال مانند داشبورد دسترسی می یابد. الاستیک همچنین بسته های "ضربان" را فراهم می کند که می تواند پیکربندی شده باشد تا از ویژوال Kibana و داشبوردهای پیش ساخته در مورد بانک اطلاعاتی مختلف و فناوری های کاربردی تهیه کند.

آیا این نوشته را دوست داشتید؟