Indeks memungkinkan kueri dan analisis log pada penyimpanan log Simple Log Service. Pilih antara indeks teks penuh dan indeks bidang sesuai kebutuhan kueri Anda.
Mengapa indeks diperlukan
Kata kunci dicocokkan terhadap istilah individual dalam log mentah. Misalnya, entri log curl/7.74.0 mengandung kata kunci curl, tetapi tanpa penguraian, entri tersebut merupakan satu kesatuan yang tidak secara tepat cocok dengan curl. Simple Log Service tidak dapat mengambilnya.
Untuk membuat log dapat dicari, pisahkan log menjadi istilah menggunakan pembatas (delimiter). Misalnya, menerapkan \n\t\r,;[]{}()&^*#@~=<>/\?:'" menghasilkan istilah curl dan 7.74.0. Simple Log Service membangun indeks dari istilah-istilah ini. Log hanya dapat dikueri dan dianalisis setelah indeks dibuat.
Simple Log Service mendukung indeks teks penuh dan indeks bidang. Jika Anda mengonfigurasi keduanya untuk Logstore yang sama, konfigurasi indeks bidang akan didahulukan.
Jenis indeks
Indeks teks penuh
Indeks teks penuh membagi seluruh entri log menjadi istilah bertipe text berdasarkan Delimiter. Anda kemudian dapat mengkueri log berdasarkan kata kunci. Misalnya, Chrome or Safari mengembalikan log yang mengandung Chrome atau Safari.
-
Delimiter tidak mendukung karakter Tionghoa. Untuk menangani teks Tionghoa, aktifkan Include Chinese. SLS kemudian secara otomatis melakukan tokenisasi konten Tionghoa berdasarkan tata bahasa.
-
Jika Anda hanya mengonfigurasi indeks teks penuh, Anda dapat menggunakan sintaks pencarian teks penuh. Sintaks dan fungsi kueri
Indeks bidang
Indeks bidang membagi log berdasarkan nama bidang (KEY) dan melakukan tokenisasi terhadap konten setiap bidang. Empat tipe data didukung: text, long, double, dan JSON. Anda dapat mengkueri berdasarkan nama dan nilai bidang (Key:Value) atau menggunakan pernyataan SELECT. Sintaks dan fitur kueri
-
Untuk mengkueri atau menganalisis bidang tertentu dengan pernyataan SELECT, Anda harus membuat indeks bidang untuk bidang tersebut. Indeks bidang didahulukan daripada indeks teks penuh jika keduanya dikonfigurasi untuk bidang yang sama.
-
Bidang bertipe text mendukung kueri teks penuh, kueri spesifik bidang, dan pernyataan analitik (SELECT).
-
Tanpa indeks teks penuh, kueri teks penuh hanya mencari di semua bidang bertipe text.
-
Dengan indeks teks penuh diaktifkan, kueri teks penuh mencari di seluruh log.
-
-
Bidang bertipe long dan double mendukung kueri spesifik bidang dan pernyataan analitik (SELECT).
Buat indeks
-
Konfigurasi indeks secara langsung memengaruhi hasil kueri dan analisis. Indeks baru memerlukan waktu sekitar satu menit untuk berlaku.
-
Indeks hanya berlaku untuk data yang baru dimasukkan. Untuk mengkueri data historis, lakukan pengindeksan ulang (reindex).
-
SLS secara otomatis membuat indeks untuk beberapa bidang tercadang (reserved fields).
Pembatas untuk
__topic__dan__source__kosong, sehingga kueri pada bidang-bidang ini harus menggunakan pencocokan eksak. -
Bidang dengan awalan
__tag__tidak mendukung pengindeksan teks penuh. Buat indeks bidang bertipe text untuk mengkueri dan menganalisisnya, misalnya:*| select "__tag__:__receive_time__". -
Jika log berisi nama bidang duplikat (misalnya,
request_time), konsol menampilkan salah satunya sebagairequest_time_0. Nama aslinya tetaprequest_time. Selalu gunakan nama asli saat membuat indeks, mengkueri, menganalisis, mengirimkan, atau mengubah data.
Konsol
API
SDK
CLI
Perbarui indeks
Prosedur
Nonaktifkan indeks
Setelah Anda Disable indeks, SLS secara otomatis melepaskan storage untuk data indeks historis ketika periode retensi Logstore berakhir.
Prosedur
Contoh konfigurasi indeks
Contoh 1
Konten log berisi bidang request_time. Anda menjalankan kueri request_time>100.
-
Dengan hanya indeks teks penuh, pencarian mengembalikan log yang berisi tiga istilah
request_time,>(bukan pembatas), dan100. -
Dengan indeks bidang bertipe double atau long, kueri mengembalikan log di mana
request_timelebih besar dari 100. -
Jika Anda membuat indeks teks penuh dan indeks bidang bertipe double atau long, indeks teks penuh untuk
request_timediabaikan, dan kueri mengembalikan log di manarequest_timelebih besar dari 100.
Contoh 2
Konten log berisi bidang request_time. Anda menjalankan kueri teks penuh request_time.
-
Jika Anda hanya membuat indeks bidang bertipe
doubleataulong, tidak ada log relevan yang dikembalikan. -
Buat hanya indeks teks penuh untuk mengkueri log yang berisi
request_timedari seluruh teks log. -
Kueri log yang berisi
request_timedari bidang yang memiliki indeks bidang bertipetext.
Contoh 3
Konten log berisi bidang status. Jalankan pernyataan analisis * | SELECT status, count(*) AS PV GROUP BY status.
-
Jika Anda hanya membuat indeks teks penuh, tidak ada log relevan yang dikembalikan.
-
Indeks bidang pada
statusmengembalikan kode status dan jumlah PV-nya.
Trafik indeks
Indeks teks penuh
Semua nama dan nilai bidang dihitung sebagai index traffic.
Indeks bidang
Perhitungan index traffic bervariasi berdasarkan tipe data bidang:
-
Tipe text: Baik nama maupun nilai bidang dihitung sebagai
index traffic. -
Tipe long dan double: Nama bidang tidak dihitung sebagai
index traffic. Setiap nilai bidang menyumbang 8 byte tetap.Misalnya, jika indeks dibuat pada bidang
status(tipe long) dengan nilai200, stringstatustidak dihitung. Trafik indeks untuk200adalah 8 byte tetap. -
Tipe JSON: Baik nama maupun nilai bidang dihitung sebagai
index traffic, termasuk sub-key yang tidak secara eksplisit diindeks. Bagaimana cara menghitung trafik indeks untuk bidang JSON?-
Sub-key yang tidak diindeks:
index trafficdihitung sebagai tipe text. -
Sub-key yang diindeks:
index trafficdihitung berdasarkan tipe data yang ditentukan (text, long, atau double).
-
Tagihan
Logstore dalam mode bayar berdasarkan data yang diingest
-
Indeks menempati storage space. Kelola penyimpanan tier cerdas
-
Pengindeksan ulang tidak dikenai biaya.
-
Biaya
index traffic: Item yang dikenai biaya untuk mode bayar berdasarkan data yang diingest
Logstore dalam mode bayar berdasarkan fitur
-
Indeks menempati storage space. Kelola penyimpanan tier cerdas
-
Membuat indeks menghasilkan
index trafficyang dikenai biaya. Item yang dikenai biaya untuk mode bayar berdasarkan fitur Bagaimana cara mengurangi biaya trafik indeks? -
Pengindeksan ulang dikenai biaya. Item yang dikenai biaya dan harganya sama dengan saat membuat indeks.
Langkah selanjutnya
-
Contoh kueri dan analisis: