‫جستجوی هوشمند

Содержание

Слайд 2

جستجوی هوشمند با Elasticsearch

ارائه‌دهنده: حدیثه نقوی
مهسا اشرفی راضیه بهمن یار
نام استاد: دکتر

جستجوی هوشمند با Elasticsearch ارائه‌دهنده: حدیثه نقوی مهسا اشرفی راضیه بهمن یار
وحیدی پور

جستجوی هوشمند با Elasticsearch

بهار 1397

Слайд 3

فهرست

درخواست‌های پایه
مراحل نصب
آنالیزورها
مقایسه با Solr

تعریف اولیه
تاریخچه
مفاهیم پایه
اهمیت ایجاد Shard
ویژگی‌ها
کاربرد

جستجوی هوشمند با Elasticsearch

فهرست درخواست‌های پایه مراحل نصب آنالیزورها مقایسه با Solr تعریف اولیه تاریخچه

Слайд 4

جستجوی هوشمند با Elasticsearch

موتور جستجوی full-text و آنالیز توزیع‌شده
متن باز و

جستجوی هوشمند با Elasticsearch موتور جستجوی full-text و آنالیز توزیع‌شده متن باز
نوشته‌شده توسط زبان برنامه نویسی جاوا
دارای قابلیت multitenancy
ارائه سرویس به تعداد زیادی tenant توسط یک نمونه از برنامه
ساخته شده بر پایه کتابخانه‌های Apache Lucene
استفاده شده در وب‌سایت‌های مشهور نظیر گیت هاب، موزیلا، استک اورفلو

تعریف اولیه

Слайд 5

جستجوی هوشمند با Elasticsearch

ایده اولیه در زمان انتشار نسخه سوم Compass
توسط

جستجوی هوشمند با Elasticsearch ایده اولیه در زمان انتشار نسخه سوم Compass
Shay Banon
بازنویسی مجدد برنامه جهت تبدیل آن به برنامه جستجوی توزیع‌شده
قابل استفاده از طریق پروتکل HTTP
دریافت و ارسال اطلاعات به فرمت JSON
انتشار نخستین نسخه برنامه در فوریه 2010
پایه‌گذاری شرکت Elasticsearch BV در سال ۲۰۱۲
جهت ارائه سرویس‌ها و محصولات تجاری در حیطه کاری Elasticsearch

تاریخچه

Слайд 6

جستجوی هوشمند با Elasticsearch

جایگاه الاستیک سرچ

جستجوی هوشمند با Elasticsearch جایگاه الاستیک سرچ

Слайд 7

جستجوی هوشمند با Elasticsearch

NRT یا Near Realtime
نیاز به صرف زمان خیلی

جستجوی هوشمند با Elasticsearch NRT یا Near Realtime نیاز به صرف زمان
کم از شروع شاخص‌بندی سند تا امکان جستجوی آن
Cluster
مجموعه‌ای از یک یا چند گره (سرور)
نگهداری تمام داده‌ها به صورت جمعی
قابلیت جستجو و شاخص‌بندی جداگانه در تمامی گره‌ها
Document
واحد پایه اطلاعات قابل شاخص‌گذاری

مفاهیم پایه (1)

Слайд 8

جستجوی هوشمند با Elasticsearch

 Node (گره)
یک سرور و بخشی از یک کلاستر
شرکت

جستجوی هوشمند با Elasticsearch Node (گره) یک سرور و بخشی از یک
در ذخیره‌سازی، جستجو و شاخص‌بندی
Index (شاخص)
شامل مجموعه ای از اسناد با ویژگی‌های مشابه
Type (نوع)
دسته‌بندی منطقی شاخص‌ها

مفاهیم پایه (2)

Слайд 9

جستجوی هوشمند با Elasticsearch

Shard
راه حلی برای مقابله با محدودیت‌های سخت‌افزاری گره‌ها
مثال:

جستجوی هوشمند با Elasticsearch Shard راه حلی برای مقابله با محدودیت‌های سخت‌افزاری
نیاز به یک ترابایت فضا برای شاخص یک میلیارد سند
قرار دادن شاخص روی قسمت‌های مختلف
به خودی خود شاخصی مستقل و با کارایی کامل
قابل قرارگیری بر روی هر کدام از گره‌های کلاستر
Replica
کپی کاملی از یک shard روی گره‌های دیگر
افزایش ضریب اطمینان برنامه در هنگام بروز مشکل

مفاهیم پایه (3)

Слайд 10

جستجوی هوشمند با Elasticsearch

امکان توزیع محتوا به صورت افقی
موازی‌سازی عملیات

جستجوی هوشمند با Elasticsearch امکان توزیع محتوا به صورت افقی موازی‌سازی عملیات
روی چندین گره
افزایش کارایی و خروجی

اهمیت ایجاد Shard

Слайд 11

جستجوی هوشمند با Elasticsearch

سرعت بالا در ساخت شاخص و پاسخگویی به

جستجوی هوشمند با Elasticsearch سرعت بالا در ساخت شاخص و پاسخگویی به
جستجوها
مقیاس‌پذیری
قابل استفاده برای حجم بالای داده‌ها
سادگی در نصب، مدیریت و پیکربندی
عدم نیاز به تعریف اولیه ساختار داده‌ها (Schemaless)
کارایی بالا

ویژگی‌ها (1)

Слайд 12

جستجوی هوشمند با Elasticsearch

امکان ذخیره، جستجو و آنالیز حجم عظیمی از

جستجوی هوشمند با Elasticsearch امکان ذخیره، جستجو و آنالیز حجم عظیمی از
داده‌ها به صورت آنی
قابلیت استفاده به عنوان تکنولوژی زیرساخت
نیاز مبرم برنامه‌های کاربردی به جستجو پیشرفته و سریع
قابلیت پشتیبانی از کوئری‌های پیچیده

ویژگی‌ها (2)

Слайд 13

جستجوی هوشمند با Elasticsearch

در فروشگاه‌های آنلاین
جستجو در میان حجم عظیمی از

جستجوی هوشمند با Elasticsearch در فروشگاه‌های آنلاین جستجو در میان حجم عظیمی
محصولات و دستیابی به مشخصات محصول
آنالیز داده‌های مربوط به تراکنش‌ها و لاگ‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌ها
پیدا کردن الگو‌ها و نقاط غیرنرمال
تحلیل‌های آماری
استفاده از قابلیت Reverse Search
فراهم‌آوری امکان تعیین بازه قیمت محصولات
استفاده از Kibana
ساخت داشبوردهای تجاری و به کارگیری هوش تجاری (BI)
-ارسال درخواست ها به http

کاربرد

Слайд 14

جستجوی هوشمند با Elasticsearch

نیاز به نصب جاوا نسخه 8 به بالا
دانلود

جستجوی هوشمند با Elasticsearch نیاز به نصب جاوا نسخه 8 به بالا
فایل برنامه به صورت زیپ یا tar.gz از وب‌سایت elastic.co
اجرای فایل elasticsearch.bat (ویندوز) ./elasticsearch (لینوکس)
راه‌اندازی سرور به صورت پیش‌فرض روی پورت 9200
ارسال تقاضا‌ها به REST API سرور
دریافت و ارسال تقاضاها به فرمت JSON

مراحل نصب

Слайд 15

جستجوی هوشمند با Elasticsearch

Char Filter
Tokenizer
Token Filter
هرکدام از این بخش ها برای

جستجوی هوشمند با Elasticsearch Char Filter Tokenizer Token Filter هرکدام از این
حل کردن بخشی از مشکلات تحلیل زبان بکار می روند

بررسی آنالیزورها

Слайд 16

جستجوی هوشمند با Elasticsearch

کارکرد بخش char filter
حل مشکل نیم فاصله در

جستجوی هوشمند با Elasticsearch کارکرد بخش char filter حل مشکل نیم فاصله
زبان فارسی
اعداد اعشاری
کارکرد بخش tokenizer
تشخیص اعداد فارسی
تشخیص توکن های تاریخ زمان
کارکرد بخش token filter
Stemmer
Stop word
Normalizer
Word deliment
synonym

آنالیزورها

Слайд 17

جستجوی هوشمند با Elasticsearch

دارای کتابخانه‌های رسمی Java، Groovy، PHP، Javascript و.NET
در

جستجوی هوشمند با Elasticsearch دارای کتابخانه‌های رسمی Java، Groovy، PHP، Javascript و.NET
مقابل Solr فقط دارای کتابخانه جاوا
قابلیت ورود داده از منابع مختلف نظیر پایگاه داده‌ها و سیستم‌های مختلف
در مقابل پشتیبانی از تعداد محدودی منبع
امکان استفاده از کوئری‌های پیچیده DSL
قابلیت جستجو معکوس (ارسال کوئری و سپس ارسال سند برای بررسی تطابق)
استفاده آسان‌تر و راحت‌تر نسبت به Solr

مقایسه با Solr

Слайд 18

سوال

جستجوی هوشمند با Elasticsearch

سوال جستجوی هوشمند با Elasticsearch