آموزش Elasticsearch

معرفی Elasticsearch

Elasticsearch یک سرور جستجوی مبتنی بر Apache Lucene می باشد که توسط Shay Banon توسعه یافته و در سال 2010 منتشر شده است. در حال حاضر توسط Elasticsearch BV نگهداری می شود و آخرین نسخه آن 2.1.0 می باشد.

Elasticsearch یک موتور جستجو و آنالیز توزیع شده در زمان واقعی، full-text و متن باز است. از رابط سرویس وب RESTful قابل دسترسی است و از اسناد JSON برای ذخیره داده ها استفاده می کند. با زبان برنامه نویسی جاوا ساخته شده است که Elasticsearch را قادر می سازد تا بر روی سیستم عامل های مختلف اجرا شود. این امکان را برای کاربران فراهم می کند تا حجم بسیار زیادی از داده ها را با سرعت بسیار بالا جستجو کنند.

ویژگی های Elasticsearch

  • مقیاس پذیری تا petabyte های داده های ساختار یافته و بدون ساختار
  • استفاده به عنوان جایگزین ذخیره کننده سند مانند MongoDB و RavenDB
  • استفاده از لغو نرمال سازی برای بهبود عملکرد جستجو
  • Elasticsearch یکی از موتورهای جستجوی شرکت های محبوب است که در حال حاضر توسط بسیاری از سازمان های بزرگ مانند ویکی پدیا، گاردین، StackOverflow، GitHub و غیره استفاده می شود.
  • متن باز
  • تحت مجوز آپاچی نسخه 2.0

مزایای Elasticsearch

  • Elasticsearch در جاوا توسعه داده می شود که تقریبا در هر پلتفرمی سازگار است.
  • Elasticsearch زمان واقعی است، به عبارت دیگر پس از یک ثانیه سند اضافه شده در این موتور جستجو می شود.
  • Elasticsearch توزیع شده است، که در هر سازمان بزرگی مقیاس پذیری و یکپارچه سازی را آسانتر می کند.
  • ایجاد بک آپ
  • در مقایسه با Apache Solr، مدیریت multi-tenancy آسان تر است
  • Elasticsearch از اشیاء JSON به عنوان پاسخ ها استفاده می کند
  • Elasticsearch تقریبا از هر نوع سندی پشتیبانی می کند، به جز آنهایی که رندر متن را پشتیبانی نمی کنند.

معایب Elasticsearch

Elasticsearch بر خلاف Apache Solr، که از فرمت های CSV، XML و JSON پشتیبانی می کند، از زبان های دیگر پشتیبانی نمی کند.