အင်တာနက်သတင်းအချက်အလက်များကိုပေါက်ကွဲမှုဖြစ်ပွားခြင်းဖြင့်ပြည့်စုံသောရှာဖွေမှုသည်အချက်အလက်အမြောက်အများကိုပြုပြင်ရန်အတွက်အရေးကြီးသောကိရိယာတစ်ခုဖြစ်လာသည်။ 0 ဘ်ဆိုဒ်တစ်ခုသို့မဟုတ်လျှောက်လွှာကိုတီထွင်သောအခါအသုံးပြုသူများကိုသူတို့လိုအပ်သည့်သတင်းအချက်အလက်များကိုလျင်မြန်စွာရှာဖွေရန်ခွင့်ပြုသည်။ PHP နှင့် SQLite မှတဆင့်စာလုံးအလုံးစုံရှာဖွေခြင်းနှင့် indexing function များကိုမည်သို့အကောင်အထည်ဖော်ရမည်ကိုနားလည်ရန်ဤဆောင်းပါးသည်သင့်အားတစ်ဆင့်ချင်းကြည့်ပါလိမ့်မည်။
ပထမ ဦး စွာသင်၏ operating system အတွက်တရားဝင်ဝက်ဘ်ဆိုက်မှဒေါင်းလုပ်ဆွဲနိုင်သည့် SQLite ဒေတာဘေ့စ်ကို install လုပ်ရန်လိုအပ်သည်။ တပ်ဆင်ပြီးနောက် PHP ၏ configuration file (php.ini) တွင် SQLite extension ကိုသေချာအောင်လုပ်ပါ။ သင်၏ operating system ပေါ် မူတည်. အောက်ပါကုဒ်ကိုထည့်ပါ။
extension=sqlite3.so // Linuxစံနစ်
extension=php_sqlite3.dll // Windowsစံနစ်
ပြုပြင်ပြောင်းလဲမှုဖိုင်ကိုသိမ်းဆည်းပြီးအပြောင်းအလဲများကိုအကျိုးသက်ရောက်စေရန်ဝက်ဘ်ဆာဗာကို restart လုပ်ပါ။
စာသားအပြည့်အစုံရှာဖွေခြင်းနှင့် indexing ကိုအကောင်အထည်ဖော်ခြင်းမပြုမီကျွန်ုပ်တို့သည် SQLite ဒေတာဘေ့စ်တစ်ခုကိုဖန်တီးရန်နှင့်အချက်အလက်များကိုသိမ်းဆည်းရန်ဒေတာဇယားတစ်ခုဖန်တီးရန်လိုအပ်သည်။ Terminal (သို့) command prompt ကိုဖွင့်ပါ, စီမံကိန်းလမ်းညွှန်ကိုရိုက်ထည့်ပြီးအောက်ပါ command ကို execute လုပ်ပါ။
sqlite3 mydatabase.db
CREATE TABLE articles (
id INTEGER PRIMARY KEY AUTOINCREMENT,
title TEXT,
content TEXT
);
SQLite terminal ကိုသိမ်းဆည်းပါ။
ထို့နောက်ကျွန်ုပ်တို့သည်ဆောင်းပါးအချက်အလက်အချို့ကို Simulate နှင့်စာသားအပြည့်အစုံရှာဖွေခြင်းနှင့် indexing များအတွက်ဒေတာဘေ့စ်ထဲသို့ထည့်ပါလိမ့်မည်။ ဒေတာထည့်သွင်းရန်အတွက် PHP ကုဒ်ကိုဤတွင်ဖော်ပြထားသည်။
$pdo = new PDO("sqlite:mydatabase.db");
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$articles = [
['title' => 'အသုံးပြုPHPစာသားအပြည့်အစုံကိုရှာဖွေပါ', 'content' => 'တည်နေPHPအလယ်ပိုင်း,ကျွန်ုပ်တို့သည်စာသားအပြည့်ရှာဖွေရန် function ကိုအကောင်အထည်ဖော်ရန်နည်းလမ်းများစွာရှိသည်。'],
['title' => 'PHPနှင့်SQLiteစာသားအပြည့်အဝရှာဖွေရေး၏ကြီးမြတ်မှု', 'content' => 'PHPနှင့်SQLiteဒါဟာပြီးပြည့်စုံတဲ့ပေါင်းစပ်ပါပဲ,它们可以轻松地实现စာသားအပြည့်နှင့်索引功能。']
];
foreach ($articles as $article) {
$sql = "INSERT INTO articles (title, content) VALUES (:title, :content)";
$stmt = $pdo->prepare($sql);
$stmt->execute($article);
}
ဤကုဒ်သည် PDO မှတစ်ဆင့် SQLite ဒေတာဘေ့စ်နှင့်ချိတ်ဆက်ပြီး POSCENSING ထုတ်ပြန်ချက်များကို အသုံးပြု. ဒေတာများကိုစားပွဲထဲသို့ထည့်သည်။ အမှန်တကယ်လိုအပ်ချက်များနှင့်အညီအချက်အလက်များထပ်မံထည့်သွင်းနိုင်သည်။
SQLite တွင်စာသားအပြည့်အစုံရှာဖွေခြင်း function ကိုအသုံးပြုခြင်းသည်စာသားအညွှန်းကိုဖန်တီးရန်လိုအပ်သည်။ ရှာဖွေရေးထိရောက်မှုကိုတိုးတက်စေရန်ဆောင်းပါးခေါင်းစဉ်နှင့်အကြောင်းအရာကော်လံများတွင်အညွှန်းများကိုကျွန်ုပ်တို့ဖန်တီးပါမည်။ စာသားအညွှန်းကိန်းကိုဖန်တီးရန်အောက်ပါ SQL command ကိုလုပ်ဆောင်ပါ။
CREATE VIRTUAL TABLE articles_fts USING FTS5(title, content);
ထို့နောက်မူရင်းစားပွဲ၌အချက်အလက်များကိုစာသားအညွှန်းနှင့်အပြည့်အဝစာသားအညွှန်းသို့ကူးယူပြီး၎င်းကိုထပ်တူထပ်မျှပြုလုပ်ပါ။
INSERT INTO articles_fts(articles_fts) VALUES('rebuild');
စာသားရှာဖွေမှုအပြည့်အစုံအတွက်အောက်ပါ PHP ကုဒ်ကိုသုံးပါ။
$pdo = new PDO("sqlite:mydatabase.db");
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$search = "PHPစာသားအပြည့်";
$sql = "SELECT * FROM articles_fts WHERE content MATCH :search OR title MATCH :search";
$stmt = $pdo->prepare($sql);
$stmt->bindParam(':search', $search, PDO::PARAM_STR);
$stmt->execute();
$results = $stmt->fetchAll(PDO::FETCH_ASSOC);
foreach ($results as $result) {
echo "ဘဲှ့:{$result['title']},ကေြနပ်သော:{$result['content']}";
}
ဤကုဒ်သည် "PHP full text search" ပါ 0 င်သည့်ဆောင်းပါးများကိုရှာဖွေပြီးကိုက်ညီသည့်ခေါင်းစဉ်နှင့်အကြောင်းအရာများကိုထုတ်ယူပါလိမ့်မည်။
ဤဆောင်းပါးသည်စာသားရှာဖွေခြင်းနှင့် indexing functions များကိုအကောင်အထည်ဖော်ရန် PHP နှင့် SQLite ကိုမည်သို့အသုံးပြုရမည်ကိုမိတ်ဆက်ပေးသည်။ စာသားအညွှန်းများဖန်တီးခြင်းအားဖြင့် SQLite ၏ FTS5 module ကိုအသုံးပြုခြင်းအားဖြင့်ကျွန်ုပ်တို့သည် 0 က်ဘ်အပလီကေးရှင်းများတွင်ထိရောက်သောစာသားကိုရှာဖွေပြီးအသုံးပြုသူအတွေ့အကြုံကိုအလွယ်တကူရရှိနိုင်သည်။ ဒီဆောင်းပါးကသင့်ကိုကူညီလိမ့်မယ်လို့မျှော်လင့်ပါတယ်