လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> e-commerce ထုတ်ကုန် filtering နှင့် sorting optimization ကိုအောင်မြင်ရန် Sphinx နှင့် PHP ကိုအသုံးပြုပါ

e-commerce ထုတ်ကုန် filtering နှင့် sorting optimization ကိုအောင်မြင်ရန် Sphinx နှင့် PHP ကိုအသုံးပြုပါ

M66 2025-07-01

နိဒါန်း

e-commerce ပလက်ဖောင်းများ၏အတိုင်းအတာကိုဆက်လက်တိုးချဲ့ခြင်းဖြင့်အသုံးပြုသူများကြုံတွေ့ရသောထုတ်ကုန်အရေအတွက်နှင့်အမျိုးအစားများသည်ပိုမိုများပြားလာသည်။ အသုံးပြုသူများသည်လိုအပ်သောထုတ်ကုန်များကိုပိုမိုထိရောက်စွာနေရာချရန်ကူညီနိုင်ရန်အတွက် attribute filtering နှင့် sorting functions functions များသည်အလွန်အရေးကြီးသည်။ ပလက်ဖောင်းရှာဖွေမှုအတွေ့အကြုံကိုတိုးတက်စေရန် Sphinx နှင့် PHP တို့ဖြင့်မြန်မြန်ဆန်ဆန်တုံ့ပြန်ရန် SPHINX နှင့် PHP တို့ဖြင့်မြန်မြန်ဆန်ဆန်တုံ့ပြန်ရန် SPHINX နှင့် PHP တို့အားမည်သို့တည်ဆောက်ရမည်ကိုဝေမျှလိမ့်မည်။

Sphinx မိတ်ဆက်ခြင်း

Sphinx သည်အလွန်မြင့်မားသောပြန်လည်ရယူခြင်းစွမ်းဆောင်ရည်ရှိသောပွင့်လင်းသောအရင်းအမြစ် full-text search engine ဖြစ်သည်။ Search Modes မျိုးစုံကိုထောက်ပံ့သည်, အကြီးစားအချက်အလက်များကိုရှာဖွေရန်အတွက်သင့်လျော်သည်။

Product attribute ကို filtering အကောင်အထည်ဖော်ပါ

e-commerce ပလက်ဖောင်းများတွင်ထုတ်ကုန်များသည်များသောအားဖြင့်ကုန်အမှတ်တံဆိပ်, အရောင်, အရွယ်အစားနှင့်စသည်တို့ကဲ့သို့သောဂုဏ်သတ္တိများမျိုးစုံရှိသည်။ အောက်ဖော်ပြပါ PHP နှင့်ပေါင်းစပ်ရန် Sphinxclies အတန်းကိုမည်သို့အသုံးပြုရမည်ကိုပြသသောနမူနာကုဒ်ဖြစ်သည်။

 
$cl = new SphinxClient;
$cl->SetServer("localhost", 9312);
$cl->SetMatchMode(SPH_MATCH_ALL);
$cl->SetFilter('brand', array(1)); // အမှတ်တံဆိပ် filtering စံသတ်မှတ်ချက်ထား,အမှတ်တံဆိပ်ယူဆIDအတွက်1

$res = $cl->Query("iphone");

if ($res === false) {
    echo "ရှာဖွေမှုမအောင်မြင်ပါ!";
} else {
    echo "အောင်မြင်စွာရှာဖွေပါ,စုစုပေါင်းကိုက်ညီ" . count($res['matches']) . "ထုတ်ကုန်。";
    foreach ($res['matches'] as $match) {
        echo "ကုန်ပစ္စည်းID:" . $match['id'] . ",ကုန်ပစ္စည်း名称:" . $match['title'] . "<br>";
    }
}

attribute filter များကိုချိန်ညှိခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်ရှာဖွေမှုရလဒ်များကိုပိုမိုတိကျပြီးသုံးစွဲသူများ၏ကိုယ်ပိုင်လိုအပ်ချက်များနှင့်ကိုက်ညီစေနိုင်သည်။

ထုတ်ကုန် sorting function ကိုအကောင်အထည်ဖော်

Filtering အပြင်အသုံးပြုသူများသည်များသောအားဖြင့်စျေးနှုန်း, အရောင်းနှင့်အဆင့်သတ်မှတ်ချက်များကဲ့သို့သောရှုထောင့်များဖြင့်ရှာဖွေမှုရလဒ်များကိုရှာဖွေလိုကြသည်။ Sphinx သည်ပြောင်းလွယ်ပြင်လွယ် sorting settings ကိုထောက်ပံ့သည်။ အောက်ပါဥပမာသည်အသုံးပြုသူရွေးချယ်မှုအပေါ် အခြေခံ. အခြေအနေများ sorting အခြေအနေများကို အခြေခံ. ပြသသည်။

 
$cl = new SphinxClient;
$cl->SetServer("localhost", 9312);
$cl->SetMatchMode(SPH_MATCH_ALL);

$sort = "@relevance DESC"; // ပုံမှန်အားဖြင့်မှီခိုအားဖြင့် sort

// အသုံးပြုသူရွေးချယ်မှုအရသိရသည် sorting နည်းလမ်းကိုသတ်မှတ်ပါ
if ($userSort == 'price') {
    $sort .= ", price ASC";
} elseif ($userSort == 'sales') {
    $sort .= ", sales DESC";
} elseif ($userSort == 'rating') {
    $sort .= ", rating DESC";
}

$cl->SetSortMode(SPH_SORT_EXTENDED, $sort);
$res = $cl->Query("iphone");

if ($res === false) {
    echo "ရှာဖွေမှုမအောင်မြင်ပါ!";
} else {
    echo "အောင်မြင်စွာရှာဖွေပါ,စုစုပေါင်းကိုက်ညီ" . count($res['matches']) . "ထုတ်ကုန်。";
    foreach ($res['matches'] as $match) {
        echo "ကုန်ပစ္စည်းID:" . $match['id'] . ",ကုန်ပစ္စည်း名称:" . $match['title'] . "<br>";
    }
}

ဤနည်းလမ်းသည်ရှာဖွေရန်ပြောင်းလွယ်ပြင်လွယ်မှုကိုတိုးတက်စေသည်သာမကအသုံးပြုသူ၏ browsing အတွေ့အကြုံကိုအလွန်ကောင်းမွန်စွာပြုလုပ်သည်။

ကောက်ချက်

SPHINX နှင့် PHP ကိုပေါင်းစပ်ခြင်းအားဖြင့်ကျွန်ုပ်တို့သည် e-commerce ပလက်ဖောင်းများအတွက်ထိရောက်သောရှာဖွေရေးအင်ဂျင်စနစ်ကိုတည်ဆောက်နိုင်သည်။ ၎င်းသည် multi-diffensional attribute attribute filtering သို့မဟုတ်ပြောင်းလွယ်ပြင်လွယ်ရှိသောရလဒ်များကိုရှာဖွေခြင်းရှိမရှိသုံးစွဲသူများ၏ရည်မှန်းချက်ကိုအများအပြားထုတ်ကုန်များအပေါ်တိကျစွာနေရာချထားရန်နှင့်တွေ့ဆုံနိုင်သည်။ ဤဆောင်းပါးတွင်လက်တွေ့ကျသောဥပမာများက e-commerce ပငျနီစီမံကိန်းတွင်ရှာဖွေရေးလုပ်ငန်းများဖွံ့ဖြိုးလာသောအခါအဖိုးတန်ရည်ညွှန်းချက်ဖြင့်သင့်အားတန်ဖိုးရှိသောရည်ညွှန်းချက်ကိုပေးနိုင်လိမ့်မည်ဟုကျွန်ုပ်မျှော်လင့်ပါသည်။