လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP သည် Manticore Search function function function development ဖွံ့ဖြိုးတိုးတက်ရေးလမ်းညွှန်ကိုနားလည်သဘောပေါက်ရန် Manticore Search ကိုပေါင်းစပ်ထားသည်

PHP သည် Manticore Search function function function development ဖွံ့ဖြိုးတိုးတက်ရေးလမ်းညွှန်ကိုနားလည်သဘောပေါက်ရန် Manticore Search ကိုပေါင်းစပ်ထားသည်

M66 2025-07-26

နိဒါန်း

သတင်းအချက်အလက်ပမာဏအလျင်အမြန်တိုးလာခြင်းနှင့်အတူအသုံးပြုမှုရလဒ်များ၏တိကျမှုအတွက်အသုံးပြုသူများလိုအပ်ချက်များသည်အဆက်မပြတ်တိုးများလာသည်။ ရိုးရာရှာဖွေရေးအင်ဂျင်များသည်ရှုထောင့်တိုင်းတိကျသောရှာဖွေမှုများ၏လိုအပ်ချက်များကိုဖြည့်ဆည်းရန်ခက်ခဲသည်။ ထို့ကြောင့်ပြောင်းလွယ်ပြင်လွယ်။ ထိရောက်သောရှာဖွေရေး filtering function ကိုတည်ဆောက်ရန်အထူးအရေးကြီးသည်။

Manticore ရှာဖွေရေးကို install လုပ်ပါ

Manticore Search သည်အစာရှောင်ခြင်းနှင့်ရှုပ်ထွေးသောမေးမြန်းချက်များကိုထောက်ပံ့သော open source full-text search engine ဖြစ်သည်။ နောက်ဆက်တွဲဖွံ့ဖြိုးတိုးတက်မှုနှင့်အသုံးပြုမှုအတွက်တရားဝင်ရုပ်သံလိုင်းမှ Manticore ရှာဖွေရေးကိုဒေါင်းလုတ် လုပ်. တပ်ဆင်နိုင်သည်။

အညွှန်းကိန်းတစ်ခုဖန်တီးပါ

Indexing သည်စာသားအပြည့်နှင့်ရှာဖွေခြင်း၏အခြေခံဖြစ်သည်။ အောက်ပါဥပမာသည် PHP မှတစ်ဆင့်ခေါင်းစဉ်, အကြောင်းအရာနှင့်ခွဲခြားနယ်ပယ်များပါ 0 င်သည့်အညွှန်းကိန်းတစ်ခုကိုမည်သို့ဖန်တီးရမည်ကိုပြသသည်။

 <?php
require 'vendor/autoload.php';

use ManticoresearchClient;
use ManticoresearchIndex;
use ManticoresearchExceptionsRuntimeException;
use ManticoresearchQueryBoolQuery;
use ManticoresearchQueryQuery;

try {
    $client = new Client(['host' => 'localhost', 'port' => 9308]);

    $index = new Index($client);

    $index->create([
        'index' => 'myindex',
        'type' => 'mytype',
        'fields' => [
            'title' => ['type' => 'text'],
            'content' => ['type' => 'text'],
            'category' => ['type' => 'text']
        ]
    ]);

    echo "Index created successfully.";
} catch (RuntimeException $e) {
    echo $e->getMessage();
}
?>

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

စာသားအပြည့်အစုံကိုရှာဖွေပါ

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

 <?php
require 'vendor/autoload.php';

use ManticoresearchClient;
use ManticoresearchQueryBoolQuery;
use ManticoresearchQueryQuery;

$client = new Client(['host' => 'localhost', 'port' => 9308]);

$boolQuery = new BoolQuery();
$query = new Query($client);

$boolQuery->addShould($query->match('title', 'keyword'));
$boolQuery->addShould($query->match('content', 'keyword'));
$boolQuery->addShould($query->match('category', 'keyword'));

$query->bool($boolQuery);

$result = $query->search('myindex', 'mytype');

print_r($result);
?>

ဤကုဒ်သည်သော့ချက်စာလုံးသော့ချက်စာလုံးကိုရှာဖွေသည်။

Search filtering ကိုအကောင်အထည်ဖော်ပါ

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

 <?php
require 'vendor/autoload.php';

use ManticoresearchClient;
use ManticoresearchQueryBoolQuery;
use ManticoresearchQueryQuery;

$client = new Client(['host' => 'localhost', 'port' => 9308]);

$boolQuery = new BoolQuery();
$query = new Query($client);

$boolQuery->addMust($query->match('title', 'keyword'));
$boolQuery->addFilter($query->term('category', 'news'));

$query->bool($boolQuery);

$result = $query->search('myindex', 'mytype');

print_r($result);
?>

filtering အခြေအနေများဖြည့်စွက်ခြင်းအားဖြင့်ရှာဖွေရေးအကွာအဝေးကိုထိထိရောက်ရောက်ကျဉ်းမြောင်းနိုင်ပြီးရှာဖွေမှုရလဒ်များ၏ဆက်စပ်မှုနှင့်တိကျမှန်ကန်မှုကိုတိုးတက်စေနိုင်သည်။

အကျဉ်းချုပ်

ဤဆောင်းပါးသည် PHP နှင့် Manticore ကိုရှာဖွေရေး filtering function ကိုအကောင်အထည်ဖော်ရန်မည်သို့ပေါင်းစပ်မည်ကိုမိတ်ဆက်ပေးမည်နည်း။ ၎င်းသည်ပတ် 0 န်းကျင်တည်ဆောက်ခြင်း, ညွှန်းကိန်းဖန်တီးမှု, အပြည့်အဝစာသားရှာဖွေခြင်းနှင့်ခြွင်းချက်စစ်ထုတ်ခြင်းကဲ့သို့သောအဓိကသော့ချက်များကိုဖုံးအုပ်ထားသည်။ သင်၏ရှာဖွေရေးအင်ဂျင်ဖွံ့ဖြိုးတိုးတက်မှုအတွက်သင်၏ရှာဖွေရေးအင်ဂျင်ဖွံ့ဖြိုးတိုးတက်မှုကိုလှုံ့ဆော်ပေးနိုင်ပြီးအသုံးပြုသူလိုအပ်ချက်များနှင့်အညီပိုမိုများပြားသောအသိဉာဏ်ရှိသောရှာဖွေမှုအတွေ့အကြုံကိုဖန်တီးလိမ့်မည်ဟုကျွန်ုပ်မျှော်လင့်ပါသည်။