All Products
Search
Document Center

Simple Log Service:Bagaimana cara melakukan kueri fuzzy pada log?

Last Updated:Aug 27, 2026

Topik ini menjelaskan berbagai cara untuk melakukan kueri fuzzy.

Gunakan sintaksis kueri untuk kueri fuzzy

Prinsip kueri

  1. Simple Log Service mengkueri 100 kata pertama yang sesuai dengan kondisi pencocokan kabur.

  2. Kemudian, layanan tersebut menggunakan 100 kata tersebut untuk mengambil entri log yang memuatnya.

Karena layanan hanya mengkueri 100 kata yang cocok pertama, hasilnya mungkin tidak akurat. Hal ini dapat terjadi jika awalan terlalu pendek dan cocok dengan lebih dari 100 kata dalam log. Jika Anda juga menggunakan pernyataan NOT, beberapa entri log mungkin tidak difilter seperti yang diharapkan. Misalnya, jika Anda menjalankan kueri not abcd*, kata yang diawali dengan abcd mungkin tetap muncul dalam hasil.

Penggunaan

Dalam sintaksis kueri Simple Log Service, tanda bintang (*) merepresentasikan nol atau lebih karakter, sedangkan tanda tanya (?) merepresentasikan satu karakter. Sebagai contoh, abc* mengkueri kata yang diawali dengan abc, sedangkan ab?d mengkueri kata yang diawali dengan ab, diakhiri dengan d, dan memiliki satu karakter di tengahnya. Untuk informasi selengkapnya, lihat Sintaksis dan fitur kueri. Karakter wildcard * dan ? hanya berlaku dalam satu token dan tidak melampaui batas token (delimiter). Setelah entri log ditokenisasi berdasarkan delimiter, * dan ? hanya mencocokkan karakter dalam satu token. Jika entri log memuat karakter yang tidak dianggap sebagai delimiter—misalnya, garis bawah (_)—batas token yang dihasilkan mungkin berbeda dari yang diharapkan. Sebagai contoh, jika entri log memuat ERR_MSG (karena garis bawah _ bukan delimiter, maka ERR_MSG dianggap sebagai satu token), kueri untuk ERR tidak akan cocok dengan token ini, tetapi kueri untuk ERR* akan cocok.

Gunakan klausa SQL LIKE untuk kueri fuzzy yang lebih tepat

Klausa LIKE mengikuti sintaksis SQL LIKE standar. Dalam sintaksis ini, tanda persen (%) merepresentasikan nol atau lebih karakter, sedangkan garis bawah (_) merepresentasikan satu karakter.

Sebagai contoh, untuk mengkueri semua log di mana kuncinya diawali dengan abcd, gunakan pernyataan kueri dan analisis berikut.

* | select * from log where key like 'abcd%'

Untuk mengkueri semua log di mana kuncinya tidak diawali dengan abcd:

* | select * from log where key not like 'abcd%'

Gunakan fungsi ekspresi reguler SQL untuk kueri fuzzy

Anda dapat menggunakan fungsi ekspresi reguler untuk mengkueri beberapa kata dengan satu ekspresi. Ekspresi reguler menawarkan semantik yang lebih kuat dibandingkan sintaksis LIKE, memungkinkan Anda mencari kata yang memuat angka atau karakter tertentu. Untuk informasi selengkapnya, lihat Fungsi ekspresi reguler.

Contoh:

  • * | select * from log where regexp_like(key, 'abc*'): Mengkueri kata yang diawali dengan abc.

  • * | select * from log where regexp_like(key, 'abc\d+'): Mengkueri kata yang diawali dengan abc dan diikuti oleh satu atau lebih digit.

  • * | select * from log where regexp_like(key, 'abc[xyz]'): Mengkueri kata yang diawali dengan abc dan diikuti oleh x, y, atau z.