الاستیک سرچ
یک موتور ایندکس گذاری روی متن با قابلیت پشتیبانی از کوئری های پیچیده و انواع درخواست ها به صورت تقریبا ریل تایم و نحوه ذخیره سازی جی سان . به عنوان یک دیتابیس روی الاستیک شاید نتوان حساب کرد چون اصلا برای این منظور طراحی نشده است و سازندگان آنهم هنوز آنرا به عنوان یک دیتابیس اصلی توصیه نکرده اند و بهتر است به صورت یک دیتابیس جانبی برای جستجوهای متنی پیشرفته مورد استفاده قرار گیرد و حتی اگر ایندکس های آن دچار اشکال شد ، بتوان از روی دیتابیس اصلی داده ها را بازیابی کرد .
بنابراین برای بخش جستجو ، اخبار مرتبط و نیز چنل ها ، انجمن های گفتگو، سوال و جواب ها، نظرات کاربران و مانند آن که نیاز به کوئری گرفتن روی متن داریم (با فیلترهای مختلف) یک انتخاب ایده ال خواهد بود با این شرط که اصل انتری ها و نیز چنل های کاربر در دیتابیسی جداگانه نیز ذخیره شود تا به هر دلیلی بعدها نیاز به ساخت مجدد ایندکس ها را داشته باشیم، بتوانیم این کار را انجام دهیم .
Elasticsearch یک «موتور جستجوی توزیع شده» است که به صورت یک پروژه منبع-باز جاوایی تولید شده است. این موتور جستجو خود بر اساس Lucene (موتور جستجوی محبوب در جاوا) تولید شده است. از اصلی ترین خصوصیات این موتور جستجو، مقیاس پذیری (یعنی استفاده از آن در زمانی که حجم و اندازه داده ها زیاد باشد) و ایندکس و جستجوی داده ها «در لحظه» (realtime) است.
Apache Solrموتور جستجوی محبوب و سریع محصول شرکت آپاچی می باشد که شما را قادر خواهد ساخت تا بر روی کلمات و محتواهای سایتتان جستجوی سریعی داشته باشید. این ابزار با زبان جاوا پیاده سازی شده است. مزایای استفاده از Solr:
جستجو بصورت Full-Text، Hit Highlighting، Fast Searching، Dynamic Clustering، Database Integration
مهترین مزیت استفاده از Solr این است که می توان بار جستجو را بر روی یک سرور دیگر انداخت تا جستجو باعث کندی پورتال نشود.
الاستیک سرچ(Elasticsearch) یک موتور قابل انعطاف، سریع، متن باز و قدرتمند برای جستجوی در لحظه در سایت هاست که بسیاری از سایت های معروف نظیر سونی، وردپرس، گیت هاب، پت، موزیلا، استک اورفلو و … از آن استفده می کنند. استفاده از این موتور باعث افزایش سرعت و کارایی وبسایت می شود
تعاریف اولیه :
Apache Hadoop
هادوپ بستر نرمافزاری منبعبازی است که برای نرمافزارهای توزیعشده داده محور طراحی شده است. این بستر توسط Doug Cutting توسعه یافت تا بتواند در موتور جستجوی منبعباز Nutch کار کند. برای بهرهگیری از سیستم پردازش چند ماشینه بستر سختافزاری Nutch، کاتینگ از سیستم فایل توزیعشده و تکنیک کاهش نگاشت استفاده کرد که با کمک همدیگر هادوپ را تشکیل دادند. هادوپ نام فیل اسباببازی پسر او است. از طریق کاهش نگاشت، هادوپ دادههای بزرگ را در تکههای کوچکتر و در گرههای شبکه قرار میدهد. این فناوری هماکنون بهعنوان محبوبترین واسط ذخیرهسازی دادههای بزرگ ساختیافته، نیمهساختیافته و بدو ساختار استفاده میشود. هادوپ تحت مجوز آپاچی ۰/۲ منتشر شده است.
ElasticSearch
شای بنون، الاستیکسرچ را تحت مجوز آپاچی منتشر کرده است. این نرمافزار جستجو که کاملا مبتنی بر REST است، میتواند بدون پیکربندی خاص، بهصورت لحظهای جوابهای جستجو را بیاورد. شرکتهای زیادی از جمله موزیلا و StumbleUpon از الاستیک سرچ استفاده میکنند.
Apache HBase
اچبیس که به زبان جاوا نوشته شده، مدلی از BigTable گوگل است. این دیتابیس توزیعشده غیر رابطهای ستونی میتواند روی سیستم فایل هادوپ اجرا شود. ذخیره و بازیابی بدون خطا و دسترسی به تعداد زیادی از دادههای اسپارس از جمله قابلیتهای این دیتابیس است. اچبیس یکی از چند مدل انبارههای داده NoSQL است که طی سالهای اخیر توسعه یافته است. سال ۲۰۱۰، گوگل از اچبیس برای سرویس پیغامدهی خود استفاده کرد.
تفاوت ElasticSearch با Solr
https://www.youtube.com/embed/mkt3f-lgizQ
راه اندازی موتور جستجو با PHP توسط ElasticSearch
https://www.youtube.com/embed/3xb1dHLg-Lk
دانلود nutch-elasticsearch
https://github.com/duffj/nutch-elasticsearch/archive/master.zip
الستیک چیست ؟
الستیک سرچ یک موتور جستجو و تحلیل در لحظه است که اپن سورس ، قابل انعطاف و قدرتمند و توزیع پذیر است
ویژگی ها :
- تجزیه و تحلیل ترافیک همزمان
- توزیع شدگی
- توانمند
- معماری چند مستاجره
- متن کامل
- سند گرا
- طرحواره رایگان
- RESTful API
- استمرار هر عملگر
توزیع شدگی :
در شروع در اندازه کوچک و مقیاس پذیر به صورت افقی پیاده سازی کنید.
برای ظرفیت های بیشتر، فقط گره را اضافه کنید و اجازه دهید خوشه خود را سازماندهی مجدد کند.
دسترس پذیری
خوشه بندی های ElasticSearch گره های شکست خورده را شناسایی و حذف می کند و خود را دوباره سازماندهی می کند.
چند مستاجره
یک خوشه می تواند با شاخص های متعدد میزبانی شود بطوری که می تواند به طور مستقل یا به عنوان یک گروه درخواست پرس وجو زده شود.
سند گرایی
ذخیره موجودیت های پیچیده دنیای واقعی در Elasticsearch در قالب مستندات ساخت یافته JSON.
RESTful API
تقریبا هر عملی را می توان با استفاده از یک رابط RESTful با JSON روی HTTP انجام داد.
- curl -X GET
- curl -X PUT
- curl -X POST
- curl -X DELETE
Apache Lucene
ElasticSearch روی آپاچی Lucene ساخته شده است. Lucene یک کتابخانه با کارایی بالا، با قابلیت کامل بازیابی اطلاعات است که با زبان جاوا نوشته شده است.
اصطلاحات ElasticSearch
در ElasticSearch، همه چیز به عنوان یک سند ذخیره می شود. سند می تواند آدرس دهی شوند و توسط خصوصیات کوئری ها بازخوانی شوند
انواع سندها
خصوصیات سند ها متمایز می شوند بنابراین ما می توانیم آنها را از هم جدا کنیم. (PDF , PPT , Doc)
Shard
هر Shard یک ایندکس طبیعی مستقل از Lucene است.
که ما اجازه می دهد بر محدودیت های RAM، ظرفیت دیسک سخت غلبه داشته باشیم.
منبع : http://xinh.org/5el/#/5