در جهان فعلی با افزایش سرعت اتفاقات،بی حوصلگی کاربران و انتظار بالای بازدید کنندگان محصول، فرصت شما برای رساندن مخاطب به هدف مورد نظر بسیار کاهش یافته.
در گذشته تمایل اکثر وبسایت ها و اپلیکیشن ها بر بازید اکثر صفحات توسط کاربر بود اما در جهانی که در آن نفس میکشیم سرعت رساندن به هدف، مزیت رقابتی شما با سیستم ها رقیب است به صورتی که با کمترین تعلل میدان را به نفع رقبای خود خالی کرده اید.
در این مقاله قصد دارم شما رو بیشتر با سیستم های ذخیره اطلاعات یا همان دیتابیس هایی آشنا کنم که میتوانند مزیت رقابتی و همچنین نجات دهنده کسب و کار شما باشند و بگویم چگونه با عدم استفاده، استارتاپ خود را به ورطه نابودی سوق میدهید.
اکثر application ها یا website هایی که به عنوان یک کسب و کار فعالیت میکنند، برای توسعه سیستم خودشان از دیتابیس های مرسوم همچون MYSQL و MongoDB استفاده میکنند اما این دیتابیس ها در جستجو های auto complete یا regular expression چقدر میتوانند موفق باشند؟ زمانی که حجم اطلاعات افزایش یافت، آیا استفاده از این سیستم ها به عنوان جستجوگر سریع کارساز است؟
فرض کنید فروشگاهی را توسعه دادید و رفته رفته فروشگاه شما بازدیدکنندگان زیادی را تجربه میکند.اکثر افراد برای رسیدن به هدف خود روی search input کلیک کرده و انتظار دارند با تایپ چند حرف اول محصول، محصول مورد نظر خود را در لیست پیشنهادی ببینند.قطعا حس انتظار چند ثانیه ای برای دیدن نتایج جستجو تجربه کاربری مناسبی ایجاد نمیکند.
شاید از تلخ ترین تجربه های کاربری که احتمال بازگشت به سیستم مورد نظر را به میزان زیادی کاهش میدهد، دیدن این جمله باشد. در صورتی که کاربر حرفی از کلمه مورد نظر را اشتباه تایپ کند انتظار دارد تا شما تصحیح شده آن متن به او نشان دهید و در اولین تلاش برای استفاده از سیستم شما او را ناامید نکنید.
شاید تا کنون اسم text search engine به گوشتان خورده باشد اما در سیستم های خود از آن ها استفاده ای نکرده باشید یا شاید یه عنوان یک دیتابیس معمولی برای ذخیره اطلاعات استفاده کرده باشید.
سیستم های جستجو گر متن، در گام اول برای جستجو های پیشرفته و سریع متون بهینه سازی شده اند.منظور از متن میتواند عنوان یک محصول باشد یا چت های کاربران یا حتی مقالات ذخیره سازی شده در یک وبسایت. نوع ذخیره در این سیستم ها یه گونه ای است که از همان ابتدا بر اساس inverted index عمل دخیره سازی را انجام میدهند یعنی کلمات سطر ها و حضور آن کلمه در متون مختلف ستون ها را تشکیل میدهد که میتواند صفر و یک، به معنی حضور و عدم حضور آن کلمه در تمام سند های ذخیره شده باشد و یا میتواند تعداد حضور آن کلمه باشد در هر سند باشد.
در این سیستم ها شما میتوانید نوع ذخیره سازی کلمات را بر اساس جستحوگر اپلیکیشن خودتان تعیین کنید به طور مثال کلمات را با فاصله در متون جدا کنید یا میتوانید به صورت n حرفی جدا سازی کنید تا بر اساس سیستم توسعه داده شده بتواند بیشترین کارایی را در اختیار شما قرار دهد.
یکی از موارد استفاده مرسوم، در auto complete سرچ است که محبوبیت زیادی بین توسعه دهندگان دارد.
سیستمی بسیار محبوب که اکثر کسب و کار های بزرگ جهانی همچون Netflix, Linkedin, Stackoverflow از آن به عنوان temporary database استفاده میکنند. الاستیک سرچ تنها محدود به جستجوی متن نیست و یک سیستم چند محصولی است که با نام elastic stack در حال توسعه است. از این سیتم برای logging system یا data visualization نیز میتوان استفاده کرد.
در مقالات بعدی به صورت تخصصی تر در مورد elasticsearch مینویسم و از تجارب خودم در توسعه سیستم ها پیشرفته خواهم گفت.
امیدوارم این مطلب تونسته باشه شما رو ترغیب به استفاده از elasticsearch در کسب و کار خودتون بکنه.