သတင်းအချက်အလက်ပမာဏအလျင်အမြန်တိုးလာခြင်းနှင့်အတူအသုံးပြုမှုရလဒ်များ၏တိကျမှုအတွက်အသုံးပြုသူများလိုအပ်ချက်များသည်အဆက်မပြတ်တိုးများလာသည်။ ရိုးရာရှာဖွေရေးအင်ဂျင်များသည်ရှုထောင့်တိုင်းတိကျသောရှာဖွေမှုများ၏လိုအပ်ချက်များကိုဖြည့်ဆည်းရန်ခက်ခဲသည်။ ထို့ကြောင့်ပြောင်းလွယ်ပြင်လွယ်။ ထိရောက်သောရှာဖွေရေး filtering function ကိုတည်ဆောက်ရန်အထူးအရေးကြီးသည်။
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);
?>
ဤကုဒ်သည်သော့ချက်စာလုံးသော့ချက်စာလုံးကိုရှာဖွေသည်။
စာသားအပြည့်အစုံရှာဖွေခြင်းကို အခြေခံ. 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 န်းကျင်တည်ဆောက်ခြင်း, ညွှန်းကိန်းဖန်တီးမှု, အပြည့်အဝစာသားရှာဖွေခြင်းနှင့်ခြွင်းချက်စစ်ထုတ်ခြင်းကဲ့သို့သောအဓိကသော့ချက်များကိုဖုံးအုပ်ထားသည်။ သင်၏ရှာဖွေရေးအင်ဂျင်ဖွံ့ဖြိုးတိုးတက်မှုအတွက်သင်၏ရှာဖွေရေးအင်ဂျင်ဖွံ့ဖြိုးတိုးတက်မှုကိုလှုံ့ဆော်ပေးနိုင်ပြီးအသုံးပြုသူလိုအပ်ချက်များနှင့်အညီပိုမိုများပြားသောအသိဉာဏ်ရှိသောရှာဖွေမှုအတွေ့အကြုံကိုဖန်တီးလိမ့်မည်ဟုကျွန်ုပ်မျှော်လင့်ပါသည်။