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

Ris နိုဟ် + PHP သည်အချိန်စီးရီးအချက်အလက်များကိုထိရောက်စွာရှာဖွေခြင်းနှင့်စုစည်းခြင်းအတွက်အပြည့်အဝဖြေရှင်းချက်ဖြစ်သည်

M66 2025-10-20

နိဒါန်း

Internet Applications များစဉ်ဆက်မပြတ်ဖွံ့ဖြိုးတိုးတက်မှုနှင့်အတူ sensor data data, log သတင်းအချက်အလက်, စတော့ရှယ်ယာဈေးနှုန်းများစသဖြင့်စနစ်သည်အချိန်ပိုမိုများပြားလာသည်။ ဤအချက်အလက်များကိုအချိန်ဆက်လက်မပြတ်နှင့်မြင့်မားသောတိုးတက်မှုနှုန်းဖြင့်ဖော်ပြသည်။ မည်သို့ထိရောက်စွာရှာဖွေရန်နှင့်စုစည်းနည်းသည်အရေးကြီးသောနည်းပညာဆိုင်ရာစိန်ခေါ်မှုတစ်ခုဖြစ်လာသည်။ ဤဆောင်းပါးသည် Risearch and PhP အပေါ် အခြေခံ. စွမ်းဆောင်ရည်မြင့်သောအချိန်ဆောင်းပါးများရှာဖွေခြင်းနှင့်စုစည်းခြင်းကိုမည်သို့တည်ဆောက်ရမည်ကိုမိတ်ဆက်ပေးလိမ့်မည်။

Risearch နှင့် PHP ၏ပတ်ဝန်းကျင် configuration ကို

အကောင်အထည်ဖော်မှုမပြုမီ PHP ၏ Redis, Risearch နှင့် PHP ၏ redis extension ကို install လုပ်ရန်လိုအပ်သည်။ အောက်ဖော်ပြပါသည်အခြေခံ configuration လုပ်ငန်းစဉ်ဖြစ်သည်။

  • REDIS ကို install လုပ်ပါ - Download နှင့် installation နည်းလမ်းများအတွက်တရားဝင် Redis စာရွက်စာတမ်းများကိုဖတ်ရှုပါ။
  • Risearch - တရားဝင် github သိုလှောင်ရုံမှရယူပါ။
  • PHP Redis extension ကို install လုပ်ပါ - PEPP configuration file ထဲ၌၎င်းကို enable လုပ်ရန် command pecl install redis ကို အသုံးပြုပါ။

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

Risearch တွင်အညွှန်းကိန်းများကိုအသုံးပြုခြင်းသည်ရှာဖွေခြင်းနှင့်စုစည်းခြင်းအတွက်အခြေခံဖြစ်သည်။ အောက်ဖော်ပြပါ PHP တွင်လော့ဂ်ဓာတ်အခြေပြု Time Case Onex ကိုမည်သို့ဖန်တီးရမည်ကိုအောက်ပါဥပမာကပြသသည်။

<?php
$redis = new Redis();
$redis-> ချိတ်ဆက်မှု (&#39;127.0.0.1.1&#39;, 6379,

$ Redis-> RAGCEDEE (&#39;FTB.CREEDE&#39;, &#39;SOMETAR&#39;, &#39;Timestamp&#39;, Timestamp &#39;,&#39; Timestam &#39;,&#39; Text &#39;&#39;,

// မှတ်တမ်းဒေတာကိုအညွှန်းကိန်း $ logs = array သို့ထည့်ပါ။
    Array (Timestamps) => 16155516800, &#39;Content&#39; =>> &#39;ဒီဟာကပထမဆုံး log&#39;)
    Array (Timestamp &#39;=> 1615603200,&#39; Content &#39;=>&#39; ဒီဟာကဒုတိယ log &#39;)
    // ...
);

foreach ($ log အဖြစ် $ logs) {
    $ Redis-> Rawcommand (&#39;FT.Add&#39;, &#39;Logs&#39; &#39;Doc: Doc:&#39; Doc: &#39;Doc:&#39; DOC: $ log [timestamp &#39;], 1.0,&#39; fielts &#39;,
        &#39;Timestamp&#39;, $ log [timestamp &#39;],
        &#39;အကြောင်းအရာ&#39;, $ log [&#39;content&#39;]);
}
>

အထက်ဖော်ပြပါကုဒ်နံပါတ်သည် timestamp နှင့်ပါဝင်မှုနှစ်ခုဖြစ်သော timestamp နှင့် content နှစ်ခုပါ 0 င်သည့် မှတ်တမ်းများကို သတ်မှတ်ပြီး,

ရှာဖွေရန်အချိန်စီးရီးအချက်အလက်များ

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

<?php
$redis = new Redis();
$redis-> ချိတ်ဆက်မှု (&#39;127.0.0.1.1&#39;, 6379,

$ query = &#39;@timestamp: [1615555506800 1615603200]&#39;; // 2021-03-12 မှ 2021-03-13 မှ 2021-12 မှ 2021-03-13 မှ $ redis-> Rawcommand (&#39;ft.searyarm),&#39; Logs &#39;, $ Query,&#39; Logs &#39;,&#39; Limit &#39;,&#39; limit &#39;,

// output ရှာဖွေမှုရလဒ်များ fonteach ($ key => $ တန်ဖိုးအဖြစ် $ ရလဒ်) {
    လျှင် ($ သော့% 2 === 0) {
        Echo &#39;log ID:&#39; &#39;$ တန်ဖိုး။ "\ n";
    } အခြား
        ECHO &#39;Content:&#39; ။ $ တန်ဖိုး။ "\ n";
    }
}
>

Ft.Search command မှတဆင့်, ကျွန်ုပ်တို့သည် 0 ယ်လိုအားအပေါ်ရလဒ်များကိုထုတ်လွှင့်ခြင်းနှင့်သတင်းအချက်အလက်များကိုလျင်မြန်စွာမေးမြန်းနိုင်သည်။ ဤနည်းလမ်းသည်ရှုပ်ထွေးသောစုံစမ်းမှုအခြေအနေများနှင့်မျိုးစုံကွင်းဆင်းကိုက်ညီမှုကိုထောက်ပံ့နိုင်သည်။

စုစုပေါင်းအချိန်စီးရီးဒေတာ

မှတ်တမ်းခွဲခြမ်းစိတ်ဖြာခြင်းသို့မဟုတ်စောင့်ကြည့်လေ့လာခြင်းစနစ်များတွင်စုစုပေါင်းစာရင်းဇယားများသည်ဘုံလိုအပ်ချက်ဖြစ်သည်။ ဥပမာအားဖြင့်, အချို့သောအချိန်ကာလတစ်ခုအတွင်းမှတ်တမ်းအချို့ကိုသင်အကြိမ်အရေအတွက်ကိုရေတွက်နိုင်သည်။ အောက်ပါဥပမာသည်ဤလုပ်ဆောင်မှုကိုရရှိရန် RiseAseChing ၏စုစည်းမှုဆိုင်ရာမိန့်ခွန်းကိုအသုံးပြုသည်ကိုပြသသည်။

<?php
$redis = new Redis();
$redis-> ချိတ်ဆက်မှု (&#39;127.0.0.1.1&#39;, 6379,

$ query = &#39;@timestamp: [1615555506800 1615603200]&#39;; // သတ်မှတ်ထားသောအချိန်အကွာအဝေးတွင်မှတ်တမ်းများကိုရှာဖွေရန် $ Redis-> Rawcommand (&#39;ft.aggregate&#39;, &#39;logs&#39;, $ query &#39;,&#39; ဝန် &#39;,
    &#39;Groupby&#39;, 1, &#39;@Content&#39;,
    &#39;The Move&#39;, 0, 0, 0 &#39;&#39;, &#39;&#39;, &#39;&#39;,

// စုစည်းခြင်းရလဒ် foreach ($ item ကို $ item အဖြစ်) foreach ($ ရလဒ်)
    ECHO &#39;Content:&#39; &#39;။ @ item [&#39; @ content &#39;] ။ &#39; &#39;, အကြိမ်ကြိမ်ဖြစ်ရပ်မှန် (&#39; ။ "။ " \ n "] ။ " \ n "] ။
}
>

ဤစုစည်းရေးဌာနသည်စုံစမ်းမှုရလဒ်များကိုအုပ်စုဖွဲ့ပြီးမှတ်တမ်းအကြောင်းအရာတစ်ခုစီ၏ဖြစ်ပျက်မှုများကိုရေတွက်လိမ့်မည်။ ၎င်းသည်မှတ်တမ်းခွဲခြမ်းစိတ်ဖြာခြင်းနှင့်အဖြစ်အပျက်စာရင်းဇယားများကဲ့သို့သောဖြစ်ရပ်များအတွက်အလွန်သင့်တော်သည်။

အကျဉ်းချုပ်

Risearch and Php ကိုပေါင်းစပ်ခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်အချိန်စီးရီးအချက်အလက်ရှာဖွေခြင်းနှင့်စုစည်းခြင်းကိုထောက်ပံ့သောစွမ်းဆောင်ရည်မြင့်စနစ်ကိုအလွယ်တကူတည်ဆောက်နိုင်သည်။ Index တည်ထောင်ခြင်း, ရှာဖွေခြင်းရှာဖွေခြင်းနှင့်စုစည်းခြင်းဆန်းစစ်ခြင်းအဆင့်သုံးဆင့်ကို ဖြတ်. အကြီးစားအချိန်စီးရီးအချက်အလက်များကိုထိရောက်စွာစီမံခန့်ခွဲနိုင်ပြီးခွဲခြမ်းစိတ်ဖြာနိုင်သည်။ developer များအပြည့်အဝဒေတာခွဲခြမ်းစိတ်ဖြာခြင်းပလက်ဖောင်းတစ်ခုတည်ဆောက်ရန်အချက်အလက်မြင်ကွင်းများ, အသိဉာဏ်ရှိသောနှိုးစက်ပေါင်းစည်းခြင်းကဲ့သို့သောလုပ်ငန်းဆောင်ရွက်မှုများ,

မကြာသေးမီ ဆောင်းပါးများ