ElasticSearch چیست؟
توسط Fateme Zahra
وقتی مردم می پرسند "Elasticsearch چیست؟"، برخی ممکن است پاسخ دهند که "ایندکس"، "موتور جستجو"، "پایگاه داده تحلیلی"، "راه حل کلان داده"، "سریع و مقیاس پذیر است"، یا این که "به نوعی شبیه گوگل است".
بسته به سطح آشنایی شما با این فناوری، این پاسخ ها ممکن است شما را به لحظه ای نزدیک تر کنند یا بیشتر شما را گیج کنند. اما حقیقت این است که همه این پاسخها درست هستند و این بخشی از جذابیت Elasticsearch است. در طول سالها، Elasticsearch و اکوسیستم اجزایی که در اطراف آن به نام «Elastic Stack» رشد کردهاند، برای تعداد فزایندهای از موارد استفاده، از جستجوی ساده در یک وبسایت یا سند، جمعآوری و تجزیه و تحلیل دادههای گزارش، تا هوش تجاری استفاده شده است.
ابزاری برای تحلیل و تجسم داده ها بنابراین چگونه یک موتور جستجوی ساده ایجاد شده توسط Shay Bannon یکی از بنیانگذاران Elastic برای دستور العمل های آشپزی همسرش رشد کرد و به محبوب ترین موتور جستجوی سازمانی امروز و یکی از ۱۰ محبوب ترین DBMS تبدیل شد؟ ما در این پست با درک اینکه Elasticsearch چیست، چگونه کار میکند و چگونه استفاده میشود به آن پاسخ خواهیم داد.
Elasticsearch چیست؟
در هسته آن، می توانید Elasticsearch را به عنوان سروری در نظر بگیرید که می تواند درخواست های JSON را پردازش کند و داده های JSON را به شما بازگرداند.
Elasticsearch یک موتور جستجو و تجزیه و تحلیل منبع باز و توزیع شده است که بر روی آپاچی لوسن ساخته شده و در جاوا توسعه یافته است. این به عنوان یک نسخه مقیاس پذیر از چارچوب جستجوی منبع باز Lucene شروع شد و سپس توانایی مقیاس افقی شاخص های Lucene را اضافه کرد. Elasticsearch به شما امکان می دهد حجم عظیمی از داده ها را به سرعت و در زمان واقعی ذخیره، جستجو و تجزیه و تحلیل کنید و در چند میلی ثانیه پاسخ دهید. این می تواند به پاسخ های جستجوی سریع دست یابد زیرا به جای جستجوی مستقیم متن، یک فهرست را جستجو می کند. از ساختاری مبتنی بر اسناد به جای جداول و طرحواره ها استفاده می کند و دارای API های REST گسترده ای برای ذخیره و جستجوی داده ها است. در هسته آن، می توانید Elasticsearch را به عنوان سروری در نظر بگیرید که می تواند درخواست های JSON را پردازش کند و داده های JSON را به شما بازگرداند.
Elasticsearch چگونه کار می کند؟
برای درک بهتر نحوه کار Elasticsearch، اجازه دهید برخی از مفاهیم اساسی در مورد نحوه سازماندهی داده ها و اجزای پشتیبان آن را پوشش دهیم.
مفاهیم منطقی
اسناد
اسناد واحد اصلی اطلاعاتی هستند که میتوانند در Elasticsearch نمایه شوند که در JSON بیان میشود، که فرمت جهانی تبادل دادههای اینترنتی است. می توانید سندی را مانند یک ردیف در یک پایگاه داده رابطه ای در نظر بگیرید که یک موجودیت معین را نشان می دهد - چیزی که شما به دنبال آن هستید. در Elasticsearch، یک سند می تواند چیزی بیش از یک متن باشد، می تواند هر داده ساختاریافته ای باشد که در JSON کدگذاری شده است. این داده ها می توانند چیزهایی مانند اعداد، رشته ها و تاریخ ها باشند. هر سند دارای یک شناسه منحصربهفرد و یک نوع داده خاص است که نشان میدهد سند چه نوع موجودی است. به عنوان مثال، یک سند می تواند یک مقاله دایره المعارف یا ورودی های گزارش از یک وب سرور را نشان دهد.
شاخص ها
نمایه مجموعه ای از اسناد است که ویژگی های مشابهی دارند. ایندکس بالاترین سطحی است که می توانید در Elasticsearch در برابر آن پرس و جو کنید. شما می توانید ایندکس را شبیه به پایگاه داده در طرحواره پایگاه داده رابطه ای تصور کنید. هر سندی در یک فهرست معمولاً به طور منطقی مرتبط است. به عنوان مثال، در زمینه یک وب سایت تجارت الکترونیک، می توانید یک فهرست برای مشتریان، یکی برای محصولات، یکی برای سفارشات و غیره داشته باشید. یک نمایه با نامی شناسایی می شود که برای اشاره به نمایه هنگام انجام عملیات نمایه سازی، جستجو، به روز رسانی و حذف در برابر اسناد موجود در آن استفاده می شود.
شاخص معکوس
ایندکس در Elasticsearch در واقع همان چیزی است که به آن شاخص معکوس می گویند، که مکانیزمی است که همه موتورهای جستجو با آن کار می کنند. این یک ساختار داده ای است که نقشه برداری از محتوا، مانند کلمات یا اعداد، به مکان های آن در یک سند یا مجموعه ای از اسناد را ذخیره می کند. اساسا، این یک ساختار داده مانند نقشه است که شما را از یک کلمه به یک سند هدایت می کند. یک نمایه معکوس رشتهها را مستقیماً ذخیره نمیکند و در عوض هر سند را به عبارات جستجوی جداگانه (یعنی هر کلمه) تقسیم میکند و سپس هر عبارت جستجو را به اسنادی نگاشت میکند که آن عبارات جستجو در آنها وجود دارد. به عنوان مثال، در تصویر زیر، عبارت "بهترین" در سند ۲ آمده است، بنابراین به آن سند نگاشت شده است. این به عنوان یک جستجوی سریع برای یافتن عبارات جستجو در یک سند خاص عمل می کند. با استفاده از شاخصهای معکوس توزیعشده، Elasticsearch به سرعت بهترین تطابقها را برای جستجوهای تمام متن حتی از مجموعه دادههای بسیار بزرگ پیدا میکند.
پست های توصیه شده
کلان داده
14 مهر, 1402
تحول دیجیتال
14 مهر, 1402
تجزیه و تحلیل داده ها
14 مهر, 1402