လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP elast ခလုတ်ရှာဖွေရေးရလဒ်များ၏ sorting algorithm ကိုပိုမိုကောင်းမွန်အောင်ဘယ်လိုလုပ်မလဲ။ ထိရောက်မှုနှင့်တိကျမှန်ကန်မှုကိုတိုးတက်စေသည်

PHP elast ခလုတ်ရှာဖွေရေးရလဒ်များ၏ sorting algorithm ကိုပိုမိုကောင်းမွန်အောင်ဘယ်လိုလုပ်မလဲ။ ထိရောက်မှုနှင့်တိကျမှန်ကန်မှုကိုတိုးတက်စေသည်

M66 2025-06-20

အလေးချိန်တန်ဖိုးများနှင့်အတူ sort

elastudsanging တွင် default sorting method တွင် sorting algorithm (i.e. ဆက်စပ်မှု) ကို အခြေခံ. ရွေးချယ်ရန်ဖြစ်သည်။ သို့သော်တစ်ခါတစ်ရံတွင်စျေးနှုန်း, အရောင်းအစကဲ့သို့သောသီးခြားစီးပွားရေးလိုအပ်ချက်များကို အခြေခံ. ရှာဖွေမှုရလဒ်များကိုပြုလုပ်ရန်လိုအပ်သည့်ရှာဖွေမှုရလဒ်များကိုပြုလုပ်ရန်လိုအပ်သည်။

ကျွန်ုပ်တို့တွင် Fields `အမည် (အမည်) နှင့်` စျေးနှုန်း (စျေးနှုန်း) ပါ 0 င်သည့်ထုတ်ကုန်အညွှန်းကိန်းရှိသည်ဆိုပါစို့။ အကယ်. သင်သည်စျေးနှုန်းလွှာများကိုအနိမ့်အနေဖြင့်ရယူလိုပါကအောက်ပါကုဒ်ကိုသုံးနိုင်သည်။

ရယူပါ / ထုတ်ကုန် / _search
{
  "စုံစမ်းမှု": {
    "match_all": {}
  },
  "sort": [
    {
      "စျေးနှုန်း": {
        "အမိန့်": "Desc"
      }
    }
  ]
}

ဤကုဒ်သည်ပစ္စည်းအားလုံးကိုပြန်ပို့ပြီးစျေးနှုန်းများအနေဖြင့်ရလဒ်များအရရလဒ်များကိုခွဲခြားလိမ့်မည်။ အမှန်တကယ်လိုအပ်ချက်များနှင့်အညီ sorting field ကိုပြုပြင်နိုင်သည်။

ရှုပ်ထွေးသော sorting စည်းမျဉ်းများကိုသတ်မှတ်ပါ

တခါတရံတွင်ကျွန်ုပ်တို့သည်အခြေအနေမျိုးစုံနှင့်အညီ sort လုပ်ရန်လိုအပ်သည်။ ၎င်းကို function scripts များကို အသုံးပြု. အကောင်အထည်ဖော်နိုင်သည်။ ကျွန်ုပ်တို့သည်အဆင့်သတ်မှတ်ချက်၏အလေးချိန်သည် 0.7 ဖြစ်ပြီးအရောင်းပမာဏ၏အလေးချိန်သည် 0.3 ဖြစ်သည်။ ဤတွင်၎င်းကိုအောင်မြင်ရန်ကုဒ်ဖြစ်သည်။

ပထမ ဦး စွာအညွှန်းကိန်းတစ်ခုကိုဖန်တီးသောအခါအဆင့်သတ်မှတ်ချက်နှင့်အရောင်းလယ်ကွင်းများကိုထည့်သွင်းရန်လိုအပ်သည်။

ထုတ်ကုန်များ / ထုတ်ကုန်များ
{
  "မြေပုံများ": {
    "ဂုဏ်သတ္တိများ": {
      "Name": {
        "Type": "စာသား"
      },
      "အဆင့်သတ်မှတ်ချက်": {
        "Type": "float"
      },
      "အရောင်း": {
        "Type": "Integer"
      }
    }
  }
}

ထို့နောက် collation ကိုသတ်မှတ်ရန် function script ကိုသုံးပါ။

ရယူပါ / ထုတ်ကုန် / _search
{
  "စုံစမ်းမှု": {
    "match_all": {}
  },
  "sort": [
    {
      "_script": {
        "Type": "နံပါတ်"
        "script": {
          "ရင်းမြစ်" - "(0.7 * doc ['doc [' doc [') ။ တန်ဖိုး) + (0.3 * doc [' doc ['doc)
        },
        "အမိန့်": "Desc"
      }
    }
  ]
}

ဤကုဒ်သည်ပျမ်းမျှအားဖြင့်ပျမ်းမျှအဆင့်သတ်မှတ်ချက်များနှင့်ရောင်းအားအပေါ် အခြေခံ. ရှာဖွေမှုရလဒ်များကိုဆန်းစစ်လိမ့်မည်။ တိကျသောလိုအပ်ချက်များအရအလေးချိန်တန်ဖိုးနှင့်တွက်ချက်မှုနည်းလမ်းကိုသင်ညှိနိုင်သည်။

လယ်ကွင်းမြေပုံရေးဆွဲခြင်းနှင့်ချိန်ညှိချက်များကိုပိုမိုကောင်းမွန်စေပါ

elastinsarch သည်မြေပုံအမျိုးအစားများနှင့်ချိန်ညှိချက်များအမျိုးမျိုးကိုရှာဖွေခြင်းရလဒ်များအမျိုးအစားများကိုပိုမိုကောင်းမွန်စေရန်ကူညီပေးနိုင်သည့်မြေပုံအမျိုးမျိုးကိုထောက်ပံ့ပေးသည်။ အထူးသဖြင့်အောက်ပါရွေးချယ်မှုများသည်အလွန်အသုံးဝင်သည်။

  • "Not_analyzed": "Not_analyzed" : အကယ်. သင်၌ပါ 0 င်သောလယ်ကွင်းကိုရှောင်ရှားရန်လိုအပ်ပါက sorting ၏တိကျမှန်ကန်မှုကိုသေချာစေရန်အတွက်လယ်ကွင်းကိုစကားလုံးပါ 0 င်မှုပုံစံသို့သတ်မှတ်နိုင်သည်။
  • "Fiatdata": True : မကြာခဏခွဲထွက်ရန်လိုအပ်သောလယ်ကွင်းများအတွက် `fielddata` ကို fielddata` ကို fieldings fields တွေကို memory ထဲထည့်ပြီးစွမ်းဆောင်ရည်ကိုတိုးတက်စေနိုင်တယ်။

ဥပမာအားဖြင့်ကျွန်ုပ်တို့သည်သုံးစွဲသူခေတ်ကစီလိုသည်။ ပထမ ဦး စွာအညွှန်းကိန်းတစ်ခုကိုဖန်တီးသောအခါကျွန်ုပ်တို့သည်လယ်ကွင်းမြေပုံကိုသတ်မှတ်ရန်လိုအပ်သည်။

အသုံးပြုသူများ
{
  "မြေပုံများ": {
    "ဂုဏ်သတ္တိများ": {
      "Name": {
        "Type": "စာသား"
      },
      "အသက်အရွယ်": {
        "Type": "သော့ချက်စာလုံး",
        "Index": "not_analyzed":
        "fiatdata": မှန်ပါတယ်
      }
    }
  }
}

ထို့နောက်အောက်ပါကုဒ်ကို အသုံးပြု. အသက်အရွယ်အစဉ်အလာကိုတက်ပါ။

အသုံးပြုသူများ / _search
{
  "စုံစမ်းမှု": {
    "match_all": {}
  },
  "sort": [
    {
      "အသက်အရွယ်": {
        "အမိန့်": "ASC"
      }
    }
  ]
}

ဤကုဒ်ကိုအသုံးပြုသူ၏အသက်အရွယ်အရသိရှိစေရန်ဖြစ်သည်။

အကျဉ်းချုပ်

ရှုပ်ထွေးသောအမျိုးအစားခွဲခြင်း, ရှုပ်ထွေးသောအမျိုးအစားများကိုသတ်မှတ်ခြင်းနှင့်ကွင်းဆင်းမြေပုံအမျိုးအစားများနှင့်ချိန်ညှိချက်များကိုပိုမိုကောင်းမွန်အောင်ပြုလုပ်ခြင်းအားဖြင့် elast ခွဲကြက်ရန်ရှာဖွေခြင်းရလဒ်များကိုရှာဖွေခြင်း၏ထိရောက်မှုနှင့်တိကျမှန်ကန်မှုကိုကျွန်ုပ်တို့များစွာတိုးတက်ကောင်းမွန်အောင်ပြုလုပ်နိုင်သည်။ ကွဲပြားခြားနားသောစီးပွားရေးလုပ်ငန်းများလိုအပ်ချက်များပေါ် မူတည်. ပိုမိုကောင်းမွန်သောရှာဖွေမှုအတွေ့အကြုံရရှိရန်ဤ optimization နည်းလမ်းများကိုသင်ပြောင်းလွယ်ပြင်လွယ်စွာညှိနိုင်သည်။