مدت زمان تقریبی مطالعه: 15 دقیقه

نصب الستیک سرچ (Elasticsearch) و 4 مزیت استفاده از آن

الستیک سرچ (Elasticsearch) در اصل یک موتور جستجو و تحلیل متن باز (open source) است که بر مبنای معماری Rest توزیع و بر اساس تکنولوژی Apache Lucene ساخته شده است. Elasticsearch در سال 2010 ساخته و منتشر شده و در همان سال به یکی از مشهورترین موتورهای جستجو و تحلیل متن باز تبدیل شده است.

الستیک سرچ چیست

کاربران از Elasticsearch برای تحلیل لاگ، هوش امنیتی، هوش عملیاتی، تحلیل تجاری و جستجوی Full-text بیشترین استفاده را در بین رقبای این موتور جستجو داشته اند.

تاریخچه الستیک سرچ

در سال 2010، در یک آپارتمان در لندن مردی به نام Shay Banon به دنبال کار بود. همسر او در کلاس های آشپزی شرکت می کرد و شای برای اینکه به همسرش کمک کند، یک موتور جستجو برای دستورات آشپزی درست کرد که ایده ی اولیه ی الستیک سرچ از اینجا آغاز شد. اولین نسخه ی این موتور جستجو Compass نام داشت و بعد از آن به الاستیک سرچ تغییر کرد. شرکت الستیک در سال 2012 برای ارائه خدمات و محصولات تجاری راه اندازی شد.

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

سرانجام در سال 2014 این شرکت از جمع آوری بودجه 70 میلیون دلاری در طی 18 ماه پس از راه اندازی این نرم افزار خبر داد.

برای پیاده سازی سرویس الستیک سرچ، همین الان با نادین سافت تماس بگیرید.

4 مزیت های استفاده از سرویس الستیک سرچ (Elasticsearch)

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

مزیت اول: کمترین زمان مصرفی از زمان شروع کار تا زمان رسیدن به نتیجه

موتور جستجو Elasticsearch، سعی می کند API های مبتنی بر REST و یک رابط کاربری HTTP ارائه دهد و داده ها را به فرمت JSON، استفاده کند. برای همین این نرم افزار برای شروع کار و تا زمان رسیدن به نتیجه کمترین زمان ممکن را مصرف می کند. جالب است بدانید که عملیات الستیک سرچ مانند نوشتن و یا بررسی داده به طور معمول در کمتر از یک ثانیه اتفاق می افتد.

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

توزیع بودن الستیک سرچ باعث می شود تا حجم بسیار بالایی از داده ها را به صورت موازی پردازش کند و همچنین در سریعترین زمان ممکن، بهترین جواب را برای شما پیدا کند. همچنین ابزار Kibana، که ابزاری رایگان در زمینه تصویری سازی و گزارش دهی است، به صورت یکپارچه و همزمان با الستیک سرچ (Elasticsearch) قابل استفاده است.

محیط برنامه کیبانا
محیط کیبانا

علاوه بر این، می توانید از پلاگین های متن باز الستیک سرچ مانند پلاگین Watcher برای اجرای قوانین خاص یا هشدار های سفارشی، پلاگین Machine Learning برای الگوهای یادگیری ماشین و پلاگین های Elasticsearch Security و X-Pack برای امنیت بیشتر استفاده کنید تا کارایی برنامه های خودتان را بالاتر ببرید.

مزیت سوم: قابلیت تحلیل داده

الستیک سرچ دارای تحلیل‌گرهای داده‌ای متنوعی است که به تبدیل داده‌های متنی به ساختارهای مفهومی کمک می‌کنند. این تحلیل‌گرها شامل تحلیل‌گرهای متنی مختلف مانند تبدیل کردن متن به حروف کوچک (Lowercase Tokenizer)، حذف علائم نگارشی (Punctuation Tokenizer) و تشخیص توکن ها (Word Tokenizer) است.

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

مزیت چهارم: توسعه آسان برنامه Elasticsearch

سرویس Elasticsearch از زبان های متفاوتی مانند پایتون، جاوا، جاوا اسکریپت، PHP، Node.js، Ruby و غیره پشتیبانی می کند و این نشان دهنده این است که به راحتی می توانید این برنامه را رشد و توسعه دهید.

چرا Elasticsearch را نصب کنیم؟


الستیک سرچ (Elasticsearch) در صنایع مختلف و به عنوان یک موتور جستجو و تجزیه و تحلیل داده‌ها باز و توزیع‌شده، کاربردهای متعددی دارد. در زیر، برخی از کاربردهای رایج الستیک سرچ آورده شده‌اند:

  1. مدیریت لاگ‌ها (Log Management): یکی از کاربردهای اصلی الستیک سرچ، مدیریت و تجزیه و تحلیل لاگ‌های سیستمی و برنامه‌ها است. این ابزار به سازمان‌ها کمک می‌کند تا لاگ‌های سیستم و برنامه‌های خود را به صورت توزیع‌شده جمع‌آوری کرده و آن‌ها را تحلیل کنند. این کاربرد معمولاً در مانیتورینگ سیستم‌ها، رفع مشکلات و تجزیه و تحلیل عملکرد برنامه‌ها استفاده می‌شود.
  2. جستجو و مهارت‌یابی (Search and Discovery):
    الستیک سرچ به عنوان یک موتور جستجو برای وب‌سایت‌ها، پایگاه‌های اطلاعاتی، و نرم‌افزارهای تجاری استفاده می‌شود. این به کاربران این امکان را می‌دهد تا به راحتی داده‌های مورد نیاز را جستجو و استخراج کنند.
  3. مانیتورینگ و عملکرد سیستم (System Monitoring and Performance):
    سازمان‌ها می‌توانند الستیک سرچ را برای مانیتورینگ و پیگیری عملکرد سرورها، شبکه‌ها، و سیستم‌های خود استفاده کنند. این کاربرد به آن‌ها این امکان را می‌دهد تا مشکلات و عملکرد نادرست را شناسایی کرده و بهبودهای لازم را اعمال کنند.
  4. تحلیل داده (Data Analysis):
    الستیک سرچ به شما امکان تحلیل داده‌های خود را با استفاده از پرسمان‌های پیچیده، تحلیل‌گرهای داده‌ای متنوع، و ابزارهای تجزیه و تحلیل گزارشی مانند Kibana می‌دهد. این کاربرد معمولاً در تجزیه و تحلیل داده‌های مالی، بازاریابی، و عملکرد کسب‌وکار استفاده می‌شود.
  5. پیش‌بینی و تجزیه و تحلیل پتانسیل‌ها (Predictive Analytics):
    با استفاده از ابزارهای یادگیری ماشینی و پلاگین‌های مربوط به ماشین لرنینگ، الستیک سرچ به شما امکان می‌دهد تا پیش‌بینی‌ها و تجزیه و تحلیل پتانسیل‌های آتی را انجام دهید. این کاربرد معمولاً در تحلیل داده‌های زمانی و رفتار مشتریان مورد استفاده قرار می‌گیرد.
  6. جستجوی مکانی (Geospatial Search):
    الستیک سرچ از قابلیت جستجوی مکانی پشتیبانی می‌کند که به کاربران این امکان را می‌دهد تا داده‌های مکانی مانند نقشه‌ها و مختصات GPS را جستجو و تحلیل کنند. این کاربرد معمولاً در تحلیل داده‌های مکانی، مانیتورینگ خودروها و مکانیابی استفاده می‌شود.
  7. مدیریت داده (Data Management):
    الستیک سرچ به شما امکان مدیریت و ذخیره داده ها را می دهد.
نصب الستیک سرچ

آیا استفاده از Elasticsearch رایگان است؟

الستیک سرچ تا سال 2021 یک نرم افزار رایگان و متن باز بود. اما پس از آن تغییراتی در سیاست های کمپانی elastic به وجود آمد و این شرکت برای ارائه بهتر خدمات و امنیت بیشتر نرم افزار، نسخه های غیر رایگان لایسنس الستیک سرچ را به بازار ارائه کرد.

آموزش نصب و اجرای برنامه Elasticsearch

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

نصب الستیک سرچ در ویندوز

مرحله اول) مراحل قبل از نصب

الستیک سرچ برای اجرا به Java نیاز دارد. بنابراین، ابتدا باید Java JDK را بر روی سیستم ویندوز خود از طریق سایت اوراکل نصب کنید.

  • مرورگر وب خود را باز کنید و به صفحه دانلود Java JDK بروید.
  • JDK مخصوص ویندوز را دانلود کرده و مراحل نصب آن را انجام دهید.
  • برای اطمینان از نصب موفقیت‌آمیز JDK، دستور java -version را در Command Prompt وارد کنید. اگر اطلاعات نسخه Java نمایش داده شود، نصب موفقیت‌آمیز بوده است.

مرحله دوم) دانلود الستیک سرچ

به صفحه دانلود الستیک سرچ بروید، نسخه مورد نظرتان را انتخاب کرده و دانلود کنید. به صورت پیشفرض، الستیک سرچ در یک فایل فشرده ZIP ارائه می‌شود.

نکته: لینک های دانلود الستیک سرچ با آی پی ایران به شما نشان داده نمی شود!

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

مرحله سوم) اکسترک فایل ZIP

فایل ZIP الستیک سرچ را در یک مسیر مورد نظر خود از حالت فشرده خارج کنید.می‌توانید آن را در مسیر C:\Elasticsearch استخراج کنید.

اکسترک فایل زیپ

مرحله چهارم) تنظیمات محیط متغیر (Environment Variables):

  • از منوی استارت ویندوز، به تنظیمات (Settings) بروید.
  • در جستجوی تنظیمات، “Environment Variables” را جستجو کنید و گزینه “Edit the system environment variables” را انتخاب کنید.
  • در پنجره Properties سیستم، در بخش Advanced، دکمه Environment Variables را بزنید.
  • در بخش System Variables، در میان Variables موجود، متغیر جدیدی با نام “JAVA_HOME” و مسیر JDK خود را ایجاد کنید. به عنوان مثال، مقدار زیر را وارد کنید.
"C:\Program Files\Java\jdk-17.0.1"
مراحل نصب الستیک سرچ

مرحله پنجم) اجرای الستیک سرچ

به مسیری که الستیک سرچ در آن قرار دارد بروید (به عنوان مثال: C:\Elasticsearch).

داخل پوشه bin، فایل “elasticsearch.bat” را اجرا کنید. این فایل برای اجرای Elasticsearch است.

مرحله ششم) بررسی نصب موفقیت‌آمیز

برای بررسی نصب موفقیت‌آمیز Elasticsearch، یک مرورگر وب را باز کرده و به آدرس http://localhost:9200 بروید.

آدرس تایید الستیک سرچ

باید پاسخی مشابه با این نمونه را مشاهده کنید:

{
  "name" : "your-computer-name",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "..."
  "version" : {
    "number" : "7.15.1",
    "build_flavor" : "default",
    "build_type" : "zip",
    "build_hash" : "66b55ebfa59c92c15db3f69a335d500018b3331e",
    "build_date" : "2021-09-16T03:05:05.240153204Z",
    "build_snapshot" : false,
    "lucene_version" : "8.9.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

تا اینجا، شما Elasticsearch را در ویندوز نصب کرده‌اید. حالا می‌توانید از این موتور جستجو قدرتمند برای ذخیره و جستجوی داده‌های خود استفاده کنید.

نکته: در نسخه 5 به دلیل اینکه مسائل امنیتی وجود دارد امکان اجرای نرم افزار با یوزر ROOT وجود ندارد و برای اجرا کردن آن بایستی از یک نام کاربری دیگر استفاده نمایید.

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

خطای اول: رخ دادن خطای  max file descriptors

هرگاه این نوع خطا به وجود آمد تنها راه حل این است که فایل limits.conf را در مسیر etc/security را با یک ویرایشگر باز کنید و دو خط زیر را برای نام کاربری که Elasticsearch را با آن اجرا کردید به آخر فایل اضافه نمایید.

 hard nofile 65536
 soft nofile 65536
خطای دوم:  max number of threads

اگر این نوع خطا به وجود آمد یکی از راه حل های موجود این است که داخل ترمینال با نام کاربری که تصمیم گرفتید با آن Elasticsearch را اجرا نمایید لاگین کنید و قبل از اجرای آن دستور زیر را اجرا نمایید:

ulimit -u 2048
خطای سوم:  vm.max_map_count

راه حل برطرف کردن این خطا این است که با یوزر root مقدار آن را تغییر دهیم. طبق دستور زیر

sysctl -w vm.max_map_count=262144

نصب الستیک سرچ در سیستم عامل های لینوکسی (Ubuntu یا CentOS)

مرحله اول) نصب و تنظیم Java

Elasticsearch برای اجرا به Java نیاز دارد، شما می توانید از روشی که بالاتر به آن اشاره شده، JDK را دانلود کنید. می‌توانید از دستور زیر برای نصب OpenJDK استفاده کنید:

sudo apt-get install openjdk-11-jre  # برای Ubuntu
sudo yum install java-11-openjdk      # برای CentOS

مرحله دوم) دانلود و نصب Elasticsearch

شما می‌توانید Elasticsearch را از وب‌سایت رسمی Elasticsearch دانلود کنید و سپس آن را نصب کنید. برای دانلود و نصب Elasticsearch 7.x، از دستورات زیر استفاده کنید:

sudo wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.x.x-linux-x86_64.tar.gz
sudo tar -zxvf elasticsearch-7.x.x-linux-x86_64.tar.gz
sudo mv elasticsearch-7.x.x /usr/local/

مرحله سوم) تنظیمات Elasticsearch

پیکربندی Elasticsearch از طریق فایل elasticsearch.yml در پوشه config انجام می‌شود. مطمئن شوید که تنظیمات مربوط به شبکه و نود Elasticsearch را به درستی انجام داده اید.

مرحله چهارم) اجرای Elasticsearch

Elasticsearch را با دستور زیر اجرا کنید:

sudo /usr/local/elasticsearch-7.x.x/bin/elasticsearch

مرحله پنجم) بررسی وضعیت Elasticsearch

برای بررسی وضعیت Elasticsearch و اطمینان از اجرای صحیح آن، می‌توانید از دستور زیر استفاده کنید:

curl -X GET "localhost:9200/"


الستیک سرچ (Elasticsearch) حالا بر روی سیستم شما نصب و در حال اجراست.

بیشتر بخوانید:

صفر تا 100 راه اندازی و نصب کانفلوئنس

نرم افزار جیرا (Jira) چیست؟ همه چیز درباره ی نرم افزار جیرا

خدمات نصب و راه اندازی الستیک سرچ با نادین سافت

امروزه از الستیک سرچ در اکثر نقاط دنیا استفاده می شود و شرکت های زیادی هستند که از Elasticsearch به عنوان یک ابزار پیاده سازی جستجو و همچنین آنالیز داده ها استفاده می کنند. سایت فروشگاهی دیجی کالا، Shopify ،Udemy و Uber تنها تعدادی از 3985 کمپانی هستند که از الستیک سرچ استفاده می کنند.

شرکت نادین سافت مفتخر است خدمات نصب و راه اندازی الستیک سرچ با لایسنس پلاتینیوم را ارائه کند. الستیک سرچ در نادین سافت با خدمات پشتیبانی یکساله و یا دائمی ارائه می شود. همچنین شما می توانید از مشاوره برای نصب و توسعه استفاده کنید.

برای اطلاعات بیشتر با متخصصان ما تماس بگیرید.

سوالات متداول:

الستیک سرچ چیست؟

الستیک سرچ یک موتور جستجو و تحلیل متن باز و توزیع یافته است که با زبان برنامه‌نویسی جاوا نوشته شده است. الستیک سرچ به شما اجازه می‌دهد تا حجم عظیمی از داده‌ها را ذخیره‌سازی، جستجو و آنالیز کنید.

آیا الستیک سرچ یک موتور جستجو کاملا رایگان است؟

تا سال 2021، الستیک سرچ به عنوان یک موتور جستجوی کاملا رایگان شناخته می شد اما پس از آن با لایسنس های مختلفی به بازار ارائه می شود.

آیا الستیک سرچ یک پایگاه داده است؟

الستیک سرچ به زبان جاوا نوشته شده و یک پایگاه داده NoSQL است! یعنی داده ها را در یک مدل بدون ساختار ذخیره می کند که از طریق کوئری، قابل دسترسی نیست.

مقالات پیشنهادی