မျက်မှောက်ခေတ် Web Development တွင်ကိုယ်ပိုင်ရှာဖွေခြင်းအတွေ့အကြုံသည်အသုံးပြုသူပါ 0 င်မှုနှင့်ပြောင်းလဲခြင်းနှုန်းကိုတိုးမြှင့်ရန်အဓိကနည်းလမ်းတစ်ခုဖြစ်လာသည်။ စွမ်းဆောင်ရည်မြင့်ရှာဖွေရေးအင်ဂျင်များကိုပေါင်းစပ်ခြင်းအားဖြင့် developer များအသုံးပြုသူများသည်သုံးစွဲသူများ၏အပြုအမူသို့မဟုတ်အကျိုးစီးပွား ဦး စားပေးမှုအပေါ် အခြေခံ. ပိုမိုတိကျသောအကြောင်းအရာကိုက်ညီမှုကိုပေးနိုင်သည်။ အသုံးပြုသူ preference filtering ကိုအထောက်အကူပြုသောရှာဖွေရေးအင်္ဂါရပ်များတည်ဆောက်ရန် PHP နှင့် Manticore Search ကိုမည်သို့အသုံးပြုရမည်ကိုကျွန်ုပ်တို့ပြသမည်။
ပထမ ဦး စွာ Micianore ရှာဖွေမှုဗားရှင်းကိုသင်ဒေါင်းလုပ်လုပ်ပြီးတပ်ဆင်ထားကြောင်းသေချာအောင်လုပ်ပါ။ တပ်ဆင်မှုပြီးစီးပြီးနောက် configuration file ကိုတည်းဖြတ်ပြီးနောက် Real-time index ပံ့ပိုးမှုစင်တာကိုဖွင့်ပြီးနားထောင်ခြင်းဆိပ်ကမ်းများ, မှတ်တမ်းလမ်းကြောင်းများစသည့် parameters များကိုသတ်မှတ်ရန်ပြင်ဆင်ပါ။
ရှာဖေှခြင်း
{
နားထောင် = 127.0.0.1.9306
Binlog_path = / var / vi / manticore
pid_file = /var/run/mantorore/searchd.pid
log = /Var/Log/mantore/searchd.log
Query_log = /Var/Log/manticore/query.log
search_logs = 1
rt_mem_limit = 512m
}
index my_index
{
= RT အမျိုးအစား
rt_attr_string = နာမည်
rt_attr_uint = အသက်အရွယ်
}
Configuration ပြီးဆုံးပြီးနောက်ချိန်ညှိချက်များကိုအကျိုးသက်ရောက်စေရန် Manticore ရှာဖွေရေး 0 န်ဆောင်မှုကိုပြန်လည်စတင်ပါ။
ရှာဖွေမှု function ကိုမတည်ဆောက်ခင်မှာသုံးစွဲသူဒေတာကိုအညွှန်းကိန်းကိုရေးဖို့လိုတယ်။ အောက်ပါဥပမာသည် SPHINXQL ၏ PHP Driver ကို အသုံးပြု. ရှာဖွေရေး 0 န်ဆောင်မှုကိုမည်သို့ချိတ်ဆက်ရမည်ကိုပြသသည်။
<?php
require_once('vendor/autoload.php');
use Foolz\SphinxQL\Drivers\Connection;
use Foolz\SphinxQL\SphinxQL;
$connection = new Connection();
$connection-> Setparams (['host' => '127.0.0.1', 'Port' => 9306]);
$ အညွှန်းကိန်း = 'my_index';
$ အင်ဂျင် = sphinxql အသစ် ($ ဆက်သွယ်မှု);
$ အင်ဂျင် -> setconnection ($ ဆက်သွယ်မှု);
$ အင်ဂျင် -> စုံစမ်းမှု ("truncate rtindex $ အညွှန်းကိန်း") -> execute ();
$ အင်ဂျင် ("နာမည်, အသက်အရွယ်) တန်ဖိုးများ ('Alice's 25), (' Bob ', 30), (' Charlie ', 35),
ဤအဆင့်သည်မူလအချက်အလက်များကိုရှင်းလင်းပြီးအသုံးပြုသူသတင်းအချက်အလက်အသစ်များကိုတင်သွင်းခြင်းအတွက်အခြေခံရှာဖွေမှုများအတွက်အခြေခံအုတ်မြစ်ချသည်။
အသုံးပြုသူမှသတ်မှတ်ထားသည့်အသက်အရွယ်ကို အခြေခံ. ရှာဖွေရန်ကျွန်ုပ်တို့ရှာဖွေရန်လိုအပ်သည်ဆိုပါစို့။ အောက်ပါလုပ်ဆောင်ချက်များကိုမှတစ်ဆင့်မေးမြန်းမှုထုတ်ပြန်ချက်များကိုဖြစ်ပေါ်စေသည်။
<?php
function buildUserPreferenceQuery($preferences) {
global $connection;
$index = 'my_index';
$engine = new SphinxQL($connection);
$engine-> setconnection ($ ဆက်သွယ်မှု);
$ query = $ engine-> query ("$ အညွှန်းကိန်းမှ Select * Select *");
foreach ($ key => $ တန်ဖိုးကိုအဖြစ် $ preferences) {
if ($ key == 'min_age') {
$ query- >> 'အသက်အရွယ်', '> =', ', $ တန်ဖိုး);
} ualif ($ key == 'max_age') {
$ query- >>> 'အသက်အရွယ်', '<=', $ တန်ဖိုး);
}
}
$ query-> execute (),
}
ကျွန်ုပ်တို့သည်ဤလုပ်ဆောင်မှုအတွက်အသုံးပြုသူ preference အချက်အလက်များအစုတခုတွင်ကူးယူပြီး filtered ရလဒ်ကိုထုတ်ယူနိုင်သည်။
<?php
$preferences = [
'min_age' => 25,
'Max_age' => 35
];
$ ရလဒ် = builduserporative ရိယာ ($ preferences);
foreach ($ ရလဒ် $ အတန်းအဖြစ်) {
ပဲ့တင်သံ "အမည်:" ။ $ အတန်း ['name'] ။ "အသက် -" ။ $ အတန်း ['အသက်'] ။ "\ n";
}
ဤဆောင်းပါး၏နမူနာများမှတဆင့်ကျွန်ုပ်တို့သည်ပတ် 0 န်းကျင်ပြုပြင်ပြောင်းလဲမှု, ဒေတာတင်သွင်းမှုနှင့်မေးမြန်းမှုဆောက်လုပ်ခြင်းမှလုပ်ငန်းစဉ်တစ်ခုလုံးကိုပြီးစီးခဲ့သည်။ PHP နှင့် Manticore ရှာဖွေရေးကိုပေါင်းစပ်ခြင်း, သုံးစွဲသူများ၏ကိုယ်ရေးကိုယ်တာလိုအပ်ချက်များကိုဖြည့်ဆည်းပေးနိုင်သည့်ရှာဖွေရေးလုပ်ငန်းများကိုထိရောက်စွာအကောင်အထည်ဖော်နိုင်ပြီးစနစ်၏ထောက်လှမ်းရေးအဆင့်ကိုတိုးတက်စေနိုင်သည်။ သင်အညွှန်းကိန်းများကိုဆက်လက်ချဲ့ထွင်နိုင်ပြီးပိုမိုရှုပ်ထွေးသောစီးပွားရေးအခြေအနေများနှင့်ကိုက်ညီရန်စာသားရှာဖွေခြင်း, ပံ့ပိုးမှုစင်တာသို့မဟုတ် paging ။