Sphinx PHP သည်စွမ်းဆောင်ရည်ရှိသောစာသား full-text search engine ဖြစ်သည်။ ဖွံ့ဖြိုးရေးလုပ်ငန်းစဉ်အတွင်းဇယားမျိုးစုံတွင်ပူးတွဲရှာဖွေမှုများကိုပြုလုပ်ရန်နှင့်ပြသရန်ရှာဖွေမှုရလဒ်များကိုပေါင်းစပ်ရန်မကြာခဏလိုအပ်သည်။ ဤဆောင်းပါးသည် Sphinx PHP ကို အသုံးပြု. ဤအင်္ဂါရပ်ကိုမည်သို့အကောင်အထည်ဖော်ရမည်ကိုရှင်းပြပါမည်။
ပထမ ဦး စွာ Sphinx PHP ကိုထည့်သွင်းရန်လိုအပ်သည်။ Composer ကိုမှီခိုနေရသောစီမံခန့်ခွဲမှုကိရိယာတစ်ခုအနေဖြင့် အသုံးပြု. သင်၏စီမံကိန်း၏ composer.json ဖိုင်တွင်အောက်ပါမှီခိုချက်များကိုသင်ထည့်နိုင်သည်။
{ "တောင်းဆို": { "Sphinxsearch / Sphinx-PHP": "^ 2.2" } }
တပ်ဆင်မှုပြီးဆုံးပြီးနောက်မှီခိုမှုကိုတင်ရန် composer install command ကို run ပါ။
စားပွဲတင်တွဲဖက်ရှာဖွေမှုပြုလုပ်နိုင်ရန်အတွက် Sphinx ၏အညွှန်းကိုပထမ ဦး ဆုံး configure လုပ်ရန်လိုအပ်သည်။ ကျွန်ုပ်တို့တွင်စားပွဲ 2 ခုရှိသည်ဆိုပါစို့။ အသုံးပြုသူအမည်နှင့်အသက်အရွယ်ပါ 0 င်သော အသုံးပြုသူများ ဇယားဖြစ်သည်။ အခြားတစ်ခုမှာထုတ်ကုန်၏အမည်နှင့်ဖော်ပြချက်ပါ 0 င်သည့် ထုတ်ကုန် ဇယားဖြစ်သည်။ ဒီဇယားနှစ်ခုကိုရှာဖွေပြီးရလဒ်များကိုပေါင်းစည်းချင်တယ်။
Sphinx configuration file တွင်ပထမ ဦး ဆုံး အညွှန်း ကိန်းနှစ်ခုနှင့် ထုတ်ကုန် စားပွဲ၌သက်ဆိုင်ရာနံပါတ်နှစ်ခုကိုသတ်မှတ်ပါ။ ဥပမာ configuration ကိုအောက်ပါအတိုင်းဖြစ်သည် -
Index users_index { အရင်းအမြစ် = အသုံးပြုသူများ Path = / / VAR / ဒေတာ / အသုံးပြုသူများ ... } <p>အညွှန်းကိန်းများ and_index {<br> အရင်းအမြစ် = ထုတ်ကုန်များ<br> Path = / / ဒေတာ / ထုတ်ကုန်များ<br> ...<br> }<br>
နောက်တစ်ခုက searchd configuration ထဲမှာပေါင်းစည်းတဲ့အညွှန်းကိုသတ်မှတ်ပါတယ်။
My_index { အမျိုးအစား = ဖြန့်ဝေ local = users_index local = ထုတ်ကုန်များ _index }
ဤနည်းအားဖြင့်ကျွန်ုပ်တို့သည် into _index နှင့် ထုတ်ကုန်များ ပါ 0 င်သည့် My_index ဟုခေါ်သော My_index ဟုခေါ်သောပူးတွဲအညွှန်းတစ်ခုဖန်တီးသည်။
ထို့နောက်ကျွန်ုပ်တို့သည် SPHINX PHP မှတစ်ဆင့်ဖက်ဒရယ်ရှာဖွေမှုတစ်ခုကိုလုပ်ဆောင်နိုင်သည်။ ပထမ ဦး စွာ, Sphinx client ဥပမာတစ်ခုကိုဖန်တီးပြီး Sphinx server သို့ဆက်သွယ်ရန်လိုအပ်သည်။
quant_once 'ရောင်းချသူ / autoload.php'; <p>Sphinx \ Sphinxclient ကိုသုံးပါ။</p> <p>// Sphinx client ကိုဥပမာဖန်တီးပါ<br> $ client = sphinxclient (),</p> <p>// sphinx server ကိုဆက်သွယ်ပါ<br> $ client-> setserver ('127.0.0.1.1', 9312);<br>
ထို့နောက်ကျွန်ုပ်တို့သည် query options များကို သတ်မှတ်. ရှာဖွေရေးစစ်ဆင်ရေးကိုလုပ်ဆောင်နိုင်သည်။
// set query options $ client-> setmatchmode (sphinxclies :: sphàmatch_all) // လုံးဝကိုက်ညီ $ client-> setlimits (0, 10); // ပြန်လာရလဒ်များအရေအတွက်ကိုသတ်မှတ်<p> // ရှာဖွေရေးစစ်ဆင်ရေးလုပ်ဆောင်ပါ<br> $ ရလဒ် = $ client-> query ('keyword', 'my_index');</p> <p>// လုပ်ငန်းစဉ်ရှာဖွေမှုရလဒ်များ<br> လျှင် ($ ရလဒ်! == fiss) {<br> လျှင် ($ ရလဒ် ['' စုစုပေါင်း ']> 0) {<br> foreach ($ ရလဒ် ['ကိုက်ညီ] $ ပွဲစဉ်အဖြစ်) {<br> ECHO $ ကိုက်ညီမှု ['ID'] ။ '': '' ။ $ ကိုက်ညီ [အလေးချိန် '] ။ "\ n";<br> }<br> } အခြား<br> ECHO 'မပွဲကိုမတွေ့ရပါ။ '';<br> }<br> } အခြား<br> ECHO 'Search မအောင်မြင်ပါ။ '';<br> }<br>
အထက်ပါဥပမာသည်စားပွဲပေါင်းများစွာပူးတွဲရှာဖွေရေးကိုမည်သို့အကောင်အထည်ဖော်ရမည်ကိုပြသသည်။ index ကိုဆင်ခြင်တုံတရားကိုဆင်ခြင်ခြင်းအားဖြင့် Sphinx PHP မှပေးသောရှာဖွေရေးစွမ်းရည်များကိုအသုံးပြုခြင်းအားဖြင့် developer များသည် data table မျိုးစုံတွင်ပူးတွဲမေးမြန်းချက်များကိုအလွယ်တကူပြုလုပ်နိုင်ပြီးရှာဖွေမှုရလဒ်များကိုပြန်လည်ထူထောင်ခြင်းများကိုအလွယ်တကူပြုလုပ်နိုင်သည်။ ဤဆောင်းပါးသည်သင်၏ဖွံ့ဖြိုးရေးလုပ်ငန်းများအတွက်အထောက်အကူဖြစ်လိမ့်မည်ဟုကျွန်ုပ်မျှော်လင့်ပါသည်။