رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
راهنمایی برای پیاده سازی جستجوی پیشرفته ایجکس مثل دیجی کالا
#1
سلام و روزبخیر خدمت همگی دوستان  [عکس: blush.png] 

ما یه سایت خبرهای روز داریم که با yii نوشتیم و mysql
می خوام که یه جستجوی پیشرفت براش بزارم. که کاربر بیاد خبر رو بر اساس سال و دسته بندی و تگ و امتیاز و تاریخ و اینها مرتب کنه.
بعد دیدین که دیجی کالا سرچش چطوری هست،‌تا کلیک می کنیم رویه یه آیتم کنار ، اینور بصورت ایجکس لود می شه.

تئوری انجام این کار چطور هست؟
بیام با جی کوئری بگم هر کدوم از این آیتم های سمت راست که کلیک شد یه درخواست ایجکس به سرور بزن و نمایش بده؟

اگه می شه یه توضیخ در این زمینه بدید. مرسی
پاسخ
تشکر شده توسط:
#2
البته که باید درخواست ایجکس بزنید و جواب بگیرید ، در این شکی نیست، حالا اون ایجکسو اینا چی باید برگردونه هم بحثیه واسه خودش...
ولی خواستم اینو بدونید که دیجیکالا برای سرچ از الاستیک سرچ - elastic search استفاده میکنه که برای php هم موجوده.
موفق باشید
پاسخ
تشکر شده توسط: senator
#3
بسیار ممنون از شما
الاستیک سرچ دقیقا برای چه زمانی مورد استفاده قرار می گیره؟ اگر امکانش هست از نظر حجم داده و سرعت بگید لطفا.
پاسخ
تشکر شده توسط:
#4
اینجا کامل توضیح داده شده:
http://shenoto.com/album/67-%D9%84%D8%A7...D9%86.html
پاسخ
تشکر شده توسط:
#5
(11-05-1394، 08:10 ب.ظ)senator نوشته: بسیار ممنون از شما
الاستیک سرچ دقیقا برای چه زمانی مورد استفاده قرار می گیره؟ اگر امکانش هست از نظر حجم داده و سرعت بگید لطفا.

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

http://www.bigdata.ir/2015/04/%D8%A7%D9%...%AA%DB%8C/

--------------------------------------------------------------------
اصلا برای همین ساخته شده که باسرعت خیلی بالا پاسخ بده
الاستیک سرچ برای سایتهایی با حجم داده روزانه بالا مورد استفاده قرار میگره
stackoverflow
github
ebay
,...

از لحاظ سخت افراری نیاز به کانفیگ بالایی داره.
https://www.elastic.co/guide/en/elastics...dware.html


تست روی لوکال
با حجم داده ای 2 میلیون
زمان پاسخگویی تقریبا در حد زیر چندمیلی ثانبه بود
و لی تقریبا 700 مگ از رم به خودش اختصاص داده بود.

sphinxsearch گزینه بهتری است

---------------------------------------------------------------------------------------------------------------
میتونید نگاهی به جستجوی پیشرفته ایجکس پرستا شاپ بیندازید.
https://github.com/PrestaShop/blocklayer...layered.js
اوایل یادگیری php یه فروشگاه ساز نوشته بودم بدون دیتابیس
بااستفاده از File و Json
چون اون موقع mysql بلد نبودم
با الگو گیری از نمونه کد بالا
یه جستجوی پیشرفته برای محصولات فروشگاه نوشتم که همین خروجی بالا رو داشت.

با همه این نفاسیر پس نیازی به استفاده از این 2 موتور جستجوی بالا نیست مگر اینکه خلافش ثابت بشه.

--------------------------------
انقدر هم نگید مثل دیجی کالا
قبل از اینکه اون بخواد همچنین پیاده سازی رو داشته باشه قرن ها پیش ازش استفاده شده.

یادگیری مداوم حداقل شرط لازم برای موفقیت در هر زمینه ای است که در آن فعالیت می کنید؛ هر روز چیز جدیدی بیاموزید.
پاسخ
تشکر شده توسط: poper




کاربران در حال بازدید این موضوع: 1 مهمان