လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP ကိုအကောင်အထည်ဖော်ခြင်း SPHINX မြင့်မားသောရရှိနိုင်သည့်ရှာဖွေမှုကိုအကောင်အထည်ဖော်ရန်လမ်းညွှန်ချက်အပြည့်အစုံ

PHP ကိုအကောင်အထည်ဖော်ခြင်း SPHINX မြင့်မားသောရရှိနိုင်သည့်ရှာဖွေမှုကိုအကောင်အထည်ဖော်ရန်လမ်းညွှန်ချက်အပြည့်အစုံ

M66 2025-06-25

PHP ကိုအကောင်အထည်ဖော်ခြင်း SPHINX မြင့်မားသောရရှိနိုင်သည့်ရှာဖွေမှုကိုအကောင်အထည်ဖော်ရန်လမ်းညွှန်ချက်အပြည့်အစုံ

နိဒါန်း - Sphinx သည် open source full-text search engine ဖြစ်ပြီးမြန်ဆန်သော, Sphinx ကို PHP ဝက်ဘ်ဆိုက်များသို့ပေါင်းစည်းခြင်းသည်မြင့်မားသောရရှိမှုနှင့်အလွန်ကောင်းမွန်သောစွမ်းဆောင်ရည်ရှိစွမ်းဆောင်ရည်စွမ်းရည်ကိုရရှိစေသည်။ ဤဆောင်းပါးသည် PHP ပတ်ဝန်းကျင်တွင် Sphinx ကိုမည်သို့အသုံးပြုရမည်ကိုအသေးစိတ်ဆွေးနွေးရန်နှင့်အသေးစိတ်အကောင်အထည်ဖော်မှုအဆင့်များနှင့်သင်္ကေတများကိုအသေးစိတ်ဖော်ပြထားသည်။

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

Sphinx သည်စာသားအချက်အလက်အမြောက်အများကိုမြန်ဆန်။ တိကျသောရှာဖွေမှုကိုအာရုံစူးစိုက်သော C ++ မှတီထွင်ထားသောစာသားရှာဖွေရေးအင်ဂျင်ဖြစ်သည်။ ၎င်းသည်ဖြန့်ဝေထားသောဗိသုကာများကိုပံ့ပိုးပေးပြီးအလျားလိုက်ချုံ့ခြင်းနှင့်မြင့်မားသောနေရာများမှတစ်ဆင့်ရရှိနိုင်မှုမြင့်တက်စေသည်။ SPHINX ၏အဓိကအင်္ဂါရပ်များမှာ -

  1. စာသား full-text search and attribute filtering: စာသား filtering: full-text search search search search searching ကိုတိုးတက်အောင်လုပ်ပါ။
  2. မြင့်မားသောစွမ်းဆောင်ရည် - Sphinx သည်မြန်နှုန်းမြင့်အညွှန်းကိန်းနှင့်ရှာဖွေရေးစွမ်းရည်များရှိပြီးကြီးမားသောအချက်အလက်များကိုကိုင်တွယ်နိုင်သည်။
  3. Real-time update: ဒေတာအပြောင်းအလဲများပြီးနောက်, ရှာဖွေမှုရလဒ်များ၏အချိန်ကိုက်ခြင်းသေချာစေရန်အညွှန်းကိုချက်ချင်း update လုပ်နိုင်ပါတယ်။
  4. မြင့်မားသောရရှိမှု

PHP တွင် Sphinx application

၎င်းသည် PHP developer များကို Sphinx Search Engine ကိုဝက်ဘ်ဆိုက်သို့အလွယ်တကူပေါင်းစပ်ပြီးထိရောက်သောရှာဖွေရေးလုပ်ငန်းများကိုအလွယ်တကူပေါင်းစပ်နိုင်သည့် PHP developer များတပ်ဆင်ထားသည်။ ထို့နောက်ကျွန်ုပ်တို့သည် PHP ပတ်ဝန်းကျင်တွင် Sphinx ကိုမည်သို့အသုံးပြုရမည်ကိုမိတ်ဆက်ပေးပြီးနမူနာကုဒ်မှတဆင့်အကောင်အထည်ဖော်မှုအဆင့်များကိုရှင်းပြပါမည်။

Sphinx ကို install လုပ်ပါ

ပထမ ဦး စွာသင်၏ Linux server ပေါ်တွင် Sphinx ကို install လုပ်ရန်လိုအပ်သည်။ အောက်ပါ command ကိုသုံးနိုင်သည်။

 sudo apt-get update
sudo apt-get install sphinxsearch

အညွှန်းကိန်းဒေတာ

Sphinx သည်ရှာဖွေရေးလုပ်ဆောင်မှုကိုမသုံးမီကျွန်ုပ်တို့လိုအပ်သည့်အချက်အလက်များကိုအညွှန်းရှာဖွေရန်ကျွန်ုပ်တို့အားကျွန်ုပ်တို့လိုအပ်သည်။ ကျွန်ုပ်တို့တွင်အသုံးပြုသူအချက်အလက်များပါ 0 င်သောဒေတာဘေ့စ်စားပွဲတစ်ခုရှိသည်ဆိုပါစို့။ PHP script မှတဆင့်ဤဇယား၏အချက်အလက်များကိုကျွန်ုပ်တို့တင်သွင်းနိုင်သည်။

 
<?php
$dsn = 'mysql:host=localhost;dbname=test';
$username = 'username';
$password = 'password';
<p>try {<br>
$db = new PDO($dsn, $username, $password);<br>
$query = $db->query('SELECT * FROM users');<br>
$users = $query->fetchAll(PDO::FETCH_ASSOC);</p>
$index->setFields(['id', 'name', 'age']);

foreach ($users as $user) {
    $document = new SphinxDocument();
    $document->setAttributes($user);
    $index->addDocument($document);
}

$index->build();

} ဖမ်း (PoCoException $ E) {
ပဲ့တင်သံ 'ဆက်သွယ်မှုမအောင်မြင်ပါ။ $ e-> gettessage ();
}
>

ဒေတာရှာဖွေပါ

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

 
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Sphinx Search</title>
</head>
<body>
    <form action="search.php" method="GET">
        <input type="text" name="keyword" placeholder="ကျေးဇူးပြု. သော့ချက်စာလုံးများကိုရိုက်ထည့်ပါ">
        <input type="submit" value="ရှာဖေှခြင်း">
    </form>
    <?php
    if (isset($_GET['keyword'])) {
        $keyword = $_GET['keyword'];
        $sphinx = new SphinxClient();
        $sphinx->setServer('localhost', 9312);
    if ($result['total'] > 0) {
        foreach ($result['matches'] as $match) {
            echo $match['attrs']['name'] . '<br>';
        }
    } else {
        echo 'သက်ဆိုင်ရာရလဒ်များမရှိပါ';
    }
}
?>

အကျဉ်းချုပ်

ဤဆောင်းပါးမှတစ်ဆင့် PHP စီမံကိန်းများရှိ SPHINX ရှာဖွေရေးအင်ဂျင်၏စွမ်းဆောင်ရည်မြင့်မားခြင်းနှင့်စွမ်းဆောင်ရည်မြင့်မားခြင်းလုပ်ငန်းများကိုအောင်မြင်စွာအကောင်အထည်ဖော်နိုင်သည်။ ပထမ ဦး စွာဆာဗာပေါ်ရှိ Sphinx ကိုထည့်သွင်းပါ, ပြီးနောက်ဒေတာ indexing လုပ်ဆောင်ပါ။ Sphinx သည် developer များကိုအစွမ်းထက်သောစာသားရှာဖွေရေးစွမ်းရည်များနှင့်ရရှိနိုင်မှုမြင့်မားသောရရှိမှုကိုထောက်ပံ့ပေးသည်။

(မှတ်ချက် - အမှန်တကယ်လျှောက်လွှာအတွင်းတွင် ကျေးဇူးပြု. သင်၏လိုအပ်ချက်များနှင့်အညီကုဒ်ကိုချိန်ညှိပါ။ )