خانه / NoSQL / بانکهای اطلاعاتی سندگرا / به دنبال یک راهکار جستجوی حرفه ای – الاستیک سرچ یا سلر
الاستیک سرچ و سلر

به دنبال یک راهکار جستجوی حرفه ای – الاستیک سرچ یا سلر

برای بخش جستجوی اخبار سایت ریپابلیشن از سلر (solr) استفاده کرده بودیم که به دلیل عدم آشنایی حرفه ای با آن و به تبع آن پیکربندی نامناسب ، سرعت لازم را نداشت . به پیشنهاد CTO پروژه  قرار شد الاستیک سرچ  (Elastic Search) را هم به عنوان یکی دیگر از راهکارهای جستجوی متن بررسی کرده ، تست های لازم را انجام دهم و نتیجه را به ایشان اعلام کنم .

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

  • عدم نیاز به تعریف اولیه ساختار داده ها (Schemaless)
  • توزیع شوندگی آسان در یک شبکه
  • سادگی در نصب، مدیریت و پیکربندی
  • سرعت بالا در ساخت شاخص و پاسخگویی به جستجوها

بعد از جستجوی اولیه و بررسی شرکتهایی که از این فناوری استفاده کرده بودند (که بسیار بنده را برای استفاده از این راهکار ترغیب کرد بخصوص بعضی سایتها با سی میلیون یوزر و یا دویست میلیون داده روزانه که به راحتی با الاستیک سرچ به کاربرانشان با سرعت بالا پاسخ می دادند ) یک کد پایتون نوشتم برای ورود اخبار به این موتور جستجو که یک میلیون و چهارصد هزار خبر را با تکرار اخبار چند تا از خبرگزاریهای معروف دنیا برای ایجاد یک محیط تست واقعی وارد الاستیک سرچ لوکال  کردم و کوئری هایی که لازم داشتیم مانند جستجوی معمولی و یا پیشنهاد اخبار بر اساس خبری که کاربر در حال مشاهده آن است را نوشتم و اجرا کردم .

نتایج تست هم بسیار رضایت بخش بود . کوئری هایی که با هر ترکیب فیلتر و کوئری در بدترین حالت ۲ ثانیه و به طور معمول حدود ۲۰ میلی ثانیه برای اجرا نیاز داشت (با افزونه PostMan کروم کوئری ها را اجرا کردم). با این نتایج امیدوار کننده از سلر به الاستیک سرچ کوچ کردیم و با آخرین تستها روی سرور تست شرکت، جستجوی اخبار را به این سامانه منتقل خواهیم کرد .

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

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

Time limit is exhausted. Please reload CAPTCHA.