Topik ini menjelaskan cara menanyakan log menggunakan pencocokan kabur.
Sertakan karakter wildcard dalam pernyataan kueri untuk mengimplementasikan pencocokan kabur
Prinsip
Simple Log Service menanyakan 100 kata pertama yang cocok berdasarkan kondisi pencocokan kabur.
Data yang dikembalikan adalah log yang mencakup kata-kata yang cocok.
Jika awalan dari kondisi pencocokan kabur pendek, jumlah kata yang cocok mungkin melebihi 100. Dalam hal ini, hanya sebagian log yang cocok yang dikembalikan. Selain itu, jika Anda menggabungkan klausa NOT dengan karakter wildcard, hanya sebagian kata yang dapat difilter. Sebagai contoh, jika Anda menjalankan pernyataan not abcd*, kata-kata yang dimulai dengan abcd masih akan dikembalikan.
Metode
Dalam Simple Log Service, tanda bintang (*) menunjukkan nol atau lebih kemunculan karakter. Tanda tanya (?) menunjukkan satu kemunculan karakter. Sebagai contoh, abc* menunjukkan bahwa sebuah kata cocok jika kata tersebut dimulai dengan abc. ab?d menunjukkan bahwa sebuah kata cocok jika kata tersebut dimulai dengan ab, diakhiri dengan d, dan berisi satu karakter antara ab dan d. Untuk informasi lebih lanjut, lihat Sintaks pencarian dan fungsi.
Gunakan klausa LIKE untuk mengimplementasikan pencocokan kabur
Klausa LIKE mematuhi sintaks LIKE dalam SQL standar. Tanda persen (%) dalam klausa LIKE menunjukkan nol atau lebih kemunculan karakter. Garis bawah (_) menunjukkan satu kemunculan karakter.
Contoh:
Tanyakan log yang mencakup bidang dengan nama yang dimulai dengan
abcd:* | select * from log where key like 'abcd%'Tanyakan log yang mencakup bidang dengan nama yang tidak dimulai dengan
abcd:* | select * from log where key not like 'abcd%'
Gunakan fungsi ekspresi reguler untuk mengimplementasikan pencocokan kabur
Anda dapat menentukan ekspresi reguler dalam fungsi ekspresi reguler untuk mencocokkan beberapa kata. Ekspresi reguler dapat mencocokkan karakter dan angka, serta lebih baik memenuhi kebutuhan bisnis Anda. Untuk informasi lebih lanjut, lihat Fungsi ekspresi reguler.
Contoh:
* | select * from log where regexp_like(key, abc*): mengembalikan kata-kata yang dimulai dengan abc.
* | select * from log where regexp_like(key, abc\d+): mengembalikan kata-kata yang dimulai dengan abc. Selain itu, abc diikuti oleh angka.
* | select * from log where regexp_like(key, abc[xyz]): mengembalikan kata-kata yang dimulai dengan abc. Selain itu, abc diikuti oleh x, y, atau z.