Internet Applications များစဉ်ဆက်မပြတ်ဖွံ့ဖြိုးတိုးတက်မှုနှင့်အတူ sensor data data, log သတင်းအချက်အလက်, စတော့ရှယ်ယာဈေးနှုန်းများစသဖြင့်စနစ်သည်အချိန်ပိုမိုများပြားလာသည်။ ဤအချက်အလက်များကိုအချိန်ဆက်လက်မပြတ်နှင့်မြင့်မားသောတိုးတက်မှုနှုန်းဖြင့်ဖော်ပြသည်။ မည်သို့ထိရောက်စွာရှာဖွေရန်နှင့်စုစည်းနည်းသည်အရေးကြီးသောနည်းပညာဆိုင်ရာစိန်ခေါ်မှုတစ်ခုဖြစ်လာသည်။ ဤဆောင်းပါးသည် Risearch and PhP အပေါ် အခြေခံ. စွမ်းဆောင်ရည်မြင့်သောအချိန်ဆောင်းပါးများရှာဖွေခြင်းနှင့်စုစည်းခြင်းကိုမည်သို့တည်ဆောက်ရမည်ကိုမိတ်ဆက်ပေးလိမ့်မည်။
အကောင်အထည်ဖော်မှုမပြုမီ PHP ၏ Redis, Risearch နှင့် PHP ၏ redis extension ကို install လုပ်ရန်လိုအပ်သည်။ အောက်ဖော်ပြပါသည်အခြေခံ configuration လုပ်ငန်းစဉ်ဖြစ်သည်။
Risearch တွင်အညွှန်းကိန်းများကိုအသုံးပြုခြင်းသည်ရှာဖွေခြင်းနှင့်စုစည်းခြင်းအတွက်အခြေခံဖြစ်သည်။ အောက်ဖော်ပြပါ PHP တွင်လော့ဂ်ဓာတ်အခြေပြု Time Case Onex ကိုမည်သို့ဖန်တီးရမည်ကိုအောက်ပါဥပမာကပြသသည်။
<?php $redis = new Redis(); $redis-> ချိတ်ဆက်မှု ('127.0.0.1.1', 6379, $ Redis-> RAGCEDEE ('FTB.CREEDE', 'SOMETAR', 'Timestamp', Timestamp ',' Timestam ',' Text '', // မှတ်တမ်းဒေတာကိုအညွှန်းကိန်း $ logs = array သို့ထည့်ပါ။ Array (Timestamps) => 16155516800, 'Content' =>> 'ဒီဟာကပထမဆုံး log') Array (Timestamp '=> 1615603200,' Content '=>' ဒီဟာကဒုတိယ log ') // ... ); foreach ($ log အဖြစ် $ logs) { $ Redis-> Rawcommand ('FT.Add', 'Logs' 'Doc: Doc:' Doc: 'Doc:' DOC: $ log [timestamp '], 1.0,' fielts ', 'Timestamp', $ log [timestamp '], 'အကြောင်းအရာ', $ log ['content']); } >
အထက်ဖော်ပြပါကုဒ်နံပါတ်သည် timestamp နှင့်ပါဝင်မှုနှစ်ခုဖြစ်သော timestamp နှင့် content နှစ်ခုပါ 0 င်သည့် မှတ်တမ်းများကို သတ်မှတ်ပြီး,
Risearch သည်အချိန်ကြားကာလအပေါ် အခြေခံ. အချက်အလက်များကိုလျင်မြန်စွာပြန်လည်ရယူရန်ထိရောက်သောစုံစမ်းမှု syntax ကိုထောက်ပံ့ပေးသည်။ အောက်ဖော်ပြပါကုဒ်သည်သတ်မှတ်ထားသောအချိန်ကာလအတွင်းရှိမှတ်တမ်းများကိုမည်သို့ရှာဖွေရမည်ကိုပြသသည်။
<?php $redis = new Redis(); $redis-> ချိတ်ဆက်မှု ('127.0.0.1.1', 6379, $ query = '@timestamp: [1615555506800 1615603200]'; // 2021-03-12 မှ 2021-03-13 မှ 2021-12 မှ 2021-03-13 မှ $ redis-> Rawcommand ('ft.searyarm),' Logs ', $ Query,' Logs ',' Limit ',' limit ', // output ရှာဖွေမှုရလဒ်များ fonteach ($ key => $ တန်ဖိုးအဖြစ် $ ရလဒ်) { လျှင် ($ သော့% 2 === 0) { Echo 'log ID:' '$ တန်ဖိုး။ "\ n"; } အခြား ECHO 'Content:' ။ $ တန်ဖိုး။ "\ n"; } } >
Ft.Search command မှတဆင့်, ကျွန်ုပ်တို့သည် 0 ယ်လိုအားအပေါ်ရလဒ်များကိုထုတ်လွှင့်ခြင်းနှင့်သတင်းအချက်အလက်များကိုလျင်မြန်စွာမေးမြန်းနိုင်သည်။ ဤနည်းလမ်းသည်ရှုပ်ထွေးသောစုံစမ်းမှုအခြေအနေများနှင့်မျိုးစုံကွင်းဆင်းကိုက်ညီမှုကိုထောက်ပံ့နိုင်သည်။
မှတ်တမ်းခွဲခြမ်းစိတ်ဖြာခြင်းသို့မဟုတ်စောင့်ကြည့်လေ့လာခြင်းစနစ်များတွင်စုစုပေါင်းစာရင်းဇယားများသည်ဘုံလိုအပ်ချက်ဖြစ်သည်။ ဥပမာအားဖြင့်, အချို့သောအချိန်ကာလတစ်ခုအတွင်းမှတ်တမ်းအချို့ကိုသင်အကြိမ်အရေအတွက်ကိုရေတွက်နိုင်သည်။ အောက်ပါဥပမာသည်ဤလုပ်ဆောင်မှုကိုရရှိရန် RiseAseChing ၏စုစည်းမှုဆိုင်ရာမိန့်ခွန်းကိုအသုံးပြုသည်ကိုပြသသည်။
<?php $redis = new Redis(); $redis-> ချိတ်ဆက်မှု ('127.0.0.1.1', 6379, $ query = '@timestamp: [1615555506800 1615603200]'; // သတ်မှတ်ထားသောအချိန်အကွာအဝေးတွင်မှတ်တမ်းများကိုရှာဖွေရန် $ Redis-> Rawcommand ('ft.aggregate', 'logs', $ query ',' ဝန် ', 'Groupby', 1, '@Content', 'The Move', 0, 0, 0 '', '', '', // စုစည်းခြင်းရလဒ် foreach ($ item ကို $ item အဖြစ်) foreach ($ ရလဒ်) ECHO 'Content:' '။ @ item [' @ content '] ။ ' ', အကြိမ်ကြိမ်ဖြစ်ရပ်မှန် (' ။ "။ " \ n "] ။ " \ n "] ။ } >
ဤစုစည်းရေးဌာနသည်စုံစမ်းမှုရလဒ်များကိုအုပ်စုဖွဲ့ပြီးမှတ်တမ်းအကြောင်းအရာတစ်ခုစီ၏ဖြစ်ပျက်မှုများကိုရေတွက်လိမ့်မည်။ ၎င်းသည်မှတ်တမ်းခွဲခြမ်းစိတ်ဖြာခြင်းနှင့်အဖြစ်အပျက်စာရင်းဇယားများကဲ့သို့သောဖြစ်ရပ်များအတွက်အလွန်သင့်တော်သည်။
Risearch and Php ကိုပေါင်းစပ်ခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်အချိန်စီးရီးအချက်အလက်ရှာဖွေခြင်းနှင့်စုစည်းခြင်းကိုထောက်ပံ့သောစွမ်းဆောင်ရည်မြင့်စနစ်ကိုအလွယ်တကူတည်ဆောက်နိုင်သည်။ Index တည်ထောင်ခြင်း, ရှာဖွေခြင်းရှာဖွေခြင်းနှင့်စုစည်းခြင်းဆန်းစစ်ခြင်းအဆင့်သုံးဆင့်ကို ဖြတ်. အကြီးစားအချိန်စီးရီးအချက်အလက်များကိုထိရောက်စွာစီမံခန့်ခွဲနိုင်ပြီးခွဲခြမ်းစိတ်ဖြာနိုင်သည်။ developer များအပြည့်အဝဒေတာခွဲခြမ်းစိတ်ဖြာခြင်းပလက်ဖောင်းတစ်ခုတည်ဆောက်ရန်အချက်အလက်မြင်ကွင်းများ, အသိဉာဏ်ရှိသောနှိုးစက်ပေါင်းစည်းခြင်းကဲ့သို့သောလုပ်ငန်းဆောင်ရွက်မှုများ,