All Products
Search
Document Center

Simple Log Service:Buat indeks

Last Updated:Aug 21, 2026

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.

Penting
  • 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

Penting
  • 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

Penting
  • 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 sebagai request_time_0. Nama aslinya tetap request_time. Selalu gunakan nama asli saat membuat indeks, mengkueri, menganalisis, mengirimkan, atau mengubah data.

Konsol

  1. Masuk ke Konsol Simple Log Service.

  2. Pada bagian Projects, klik proyek yang diinginkan.

  3. Pada tab Log Storage > Logstores, klik logstore yang diinginkan.

  4. Pada halaman Search & Analysis Logstore, klik Enable Index.

    Catatan

    Anda dapat mengkueri data terbaru sekitar satu menit setelah pengindeksan diaktifkan.

  5. (Opsional) Nonaktifkan pembaruan otomatis.

    Untuk Logstore yang digunakan oleh layanan Alibaba Cloud lain atau untuk penggunaan internal, Auto Update diaktifkan secara default untuk menjaga indeks bawaan tetap mutakhir. Untuk menyesuaikan indeks, nonaktifkan Auto Update pada panel Query and Analysis.

    Peringatan

    Menghapus indeks Logstore yang didedikasikan untuk layanan cloud lain akan memengaruhi fitur terkait seperti laporan dan peringatan.

  6. Buat indeks.

    Indeks teks penuh

    Setelah Anda mengklik Enable Index, Full-text Index diaktifkan secara default. Anda dapat mengaktifkan/menonaktifkan LogReduce, Case Sensitive, dan Include Chinese sesuai kebutuhan, serta menentukan Delimiter atau menyesuaikan Delimiter.

    Konfigurasi:

    Parameter

    Parameter

    Deskripsi

    LogReduce

    Saat LogReduce diaktifkan, SLS mengelompokkan log teks serupa selama pengumpulan dan mengekstraksi pola umum untuk ikhtisar cepat. LogReduce

    Case Sensitive

    Mengatur sensitivitas huruf besar/kecil dalam kueri:

    • Dengan Case Sensitive diaktifkan, kueri bersifat case-sensitive. Misalnya, jika log berisi internalError, Anda harus menggunakan internalError untuk menemukannya.

    • Dengan Case Sensitive dinonaktifkan, kueri tidak case-sensitive. Misalnya, jika log berisi internalError, Anda dapat menemukannya dengan INTERNALERROR atau internalerror.

    Include Chinese

    Mengatur cara konten Tionghoa ditangani dalam pencarian:

    • Dengan Include Chinese diaktifkan, konten Tionghoa ditokenisasi berdasarkan tata bahasa Tionghoa, sedangkan konten lain dipisahkan oleh pembatas yang ditentukan.

      Penting

      Tokenisasi Tionghoa dapat sedikit mengurangi kecepatan ingest. Aktifkan hanya jika diperlukan.

    • Dengan Include Chinese dinonaktifkan, semua konten dipisahkan oleh pembatas yang ditentukan.

    Delimiter

    Konten log dipisahkan menjadi istilah berdasarkan pembatas. Pembatas default: , '";=()[]{}?@&<>/:\n\t\r. Semua karakter ASCII valid sebagai pembatas.

    Jika Delimiter kosong, seluruh nilai bidang dianggap sebagai satu istilah, yang hanya dapat dicari dengan string lengkap atau kueri wildcard.

    Misalnya, konten log adalah /url/pic/abc.gif.

    • Tanpa pembatas, seluruh entri log seperti /url/pic/abc.gif dianggap sebagai satu kata. Anda hanya dapat menemukannya dengan string lengkap /url/pic/abc.gif atau kueri wildcard seperti /url/pic/*.

    • Dengan pembatas diatur ke garis miring (/), log dibagi menjadi tiga kata: url, pic, dan abc.gif. Anda dapat menemukan log dengan kata-kata tersebut atau pencarian fuzzy seperti url, abc.gif, pi*, atau /url/pic/abc.gif.

    • Dengan pembatas diatur ke garis miring (/) dan titik (.), log dibagi menjadi empat kata: url, pic, abc, dan gif. Anda dapat menemukan log dengan kata-kata tersebut atau pencarian fuzzy.

    Indeks bidang

    Setelah Anda mengklik Enable Index, klik Automatic Index Generation pada halaman Query and Analysis untuk membuat indeks bidang secara otomatis dari entri pertama dalam data pratinjau. Untuk menambahkan bidang kustom, klik +. Deskripsi parameter

    Konfigurasi indeks bidang:

    Konfigurasi indeks bidang yang dihasilkan secara otomatis untuk log akses Nginx meliputi:

    • @timestamp (text)

    • body_bytes_sent (long)

    • bytes_sent (long)

    • host (text)

    • http_referer (text)

    • http_user_agent (text)

    • path (text)

    • remote_addr (text)

    • request_body (text)

    • request_length (long)

    • request_method (text)

    • request_time (double)

    Sakelar Enable Analytics diaktifkan untuk semua bidang, sedangkan Case Sensitive dan Include Chinese keduanya dinonaktifkan.

    Parameter

    Parameter

    Deskripsi

    Field Name

    Nama bidang log (KEY), seperti client_ip.

    Nama bidang hanya boleh berisi huruf, angka, dan garis bawah (_), serta harus dimulai dengan huruf atau garis bawah (_).

    Penting
    • Untuk Alamat IP publik, timestamp Unix, atau bidang __tag__ lainnya, atur Field Name ke format __tag__:KEY, seperti __tag__:__receive_time__. Bidang tercadang

    • Bidang __tag__ tidak mendukung indeks numerik. Atur Type ke text untuk semua bidang __tag__.

    Type

    Tipe data nilai bidang: text, long, double, atau json.

    Tipe long dan double tidak mendukung pengaturan Case Sensitive, Include Chinese, atau Delimiter.

    Alias

    Alias bidang. Misalnya, alias client_ip sebagai ip.

    Alias hanya boleh berisi huruf, angka, dan garis bawah (_), serta harus dimulai dengan huruf atau garis bawah (_).

    Penting

    Alias hanya berlaku dalam pernyataan analitik (SELECT). Gunakan nama bidang asli dalam kueri pencarian. Alias kolom

    Case Sensitive

    Mengatur sensitivitas huruf besar/kecil dalam kueri:

    • Dengan Case Sensitive diaktifkan, kueri bersifat case-sensitive. Misalnya, jika log berisi internalError, Anda harus menggunakan internalError untuk menemukannya.

    • Dengan Case Sensitive dinonaktifkan, kueri tidak case-sensitive. Misalnya, jika log berisi internalError, Anda dapat menemukannya dengan INTERNALERROR atau internalerror.

    Delimiter

    Konten log dipisahkan menjadi istilah berdasarkan pembatas. Pembatas default: , '";=()[]{}?@&<>/:\n\t\r. Semua karakter ASCII valid sebagai pembatas.

    Jika Delimiter kosong, seluruh nilai bidang dianggap sebagai satu istilah, yang hanya dapat dicari dengan string lengkap atau kueri wildcard.

    Misalnya, konten log adalah /url/pic/abc.gif.

    • Tanpa pembatas, seluruh entri log seperti /url/pic/abc.gif dianggap sebagai satu kata. Anda hanya dapat menemukannya dengan string lengkap /url/pic/abc.gif atau kueri wildcard seperti /url/pic/*.

    • Dengan pembatas diatur ke garis miring (/), log dibagi menjadi tiga kata: url, pic, dan abc.gif. Anda dapat menemukan log dengan kata-kata tersebut atau pencarian fuzzy seperti url, abc.gif, pi*, atau /url/pic/abc.gif.

    • Dengan pembatas diatur ke garis miring (/) dan titik (.), log dibagi menjadi empat kata: url, pic, abc, dan gif. Anda dapat menemukan log dengan kata-kata tersebut atau pencarian fuzzy.

    Include Chinese

    Mengatur cara konten Tionghoa ditangani dalam pencarian:

    • Dengan Include Chinese diaktifkan, konten Tionghoa ditokenisasi berdasarkan tata bahasa Tionghoa, sedangkan konten lain dipisahkan oleh pembatas yang ditentukan.

      Penting

      Tokenisasi Tionghoa dapat sedikit mengurangi kecepatan ingest. Aktifkan hanya jika diperlukan.

    • Dengan Include Chinese dinonaktifkan, semua konten dipisahkan oleh pembatas yang ditentukan.

    Enable Analytics

    Aktifkan Enable Analytics untuk mengizinkan analisis statistik pada bidang ini.

  7. (Opsional) Atur panjang maksimum bidang.

    Selama analisis SQL, Simple Log Service memotong nilai bidang pada 2048 byte (2 KB) secara default. Anda dapat menyesuaikan batas ini (64–16384 byte) dengan Maximum Field Length di bagian bawah halaman Query and Analysis.

    Penting
    • Pembaruan konfigurasi indeks hanya berlaku untuk data yang baru dimasukkan.

    • Jika nilai bidang melebihi panjang maksimum, kelebihannya akan dipotong dan tidak termasuk dalam analisis.

API

Anda dapat mengelola indeks dengan memanggil Operasi API Simple Log Service:

SDK

Anda dapat mengelola indeks dengan SDK Simple Log Service. Untuk SDK lainnya, lihat Ikhtisar referensi SDK.

Java

Kelola indeks dengan SDK Simple Log Service untuk Java. Gunakan SDK Log Service untuk Java untuk mengelola indeks.

Python

Kelola indeks dengan SDK Simple Log Service untuk Python. Kelola indeks dengan SDK Python.

Selain SDK aslinya, SLS juga mendukung SDK Alibaba Cloud umum. Untuk informasi lebih lanjut, lihat Simple Log Service_SDK Center_Alibaba Cloud OpenAPI Explorer.

CLI

Anda dapat mengelola indeks melalui CLI Simple Log Service:

Perbarui indeks

Prosedur

Pada halaman Search & Analysis Logstore target, pilih Index Attributes > Attributes. Perubahan berlaku dalam waktu sekitar satu menit.

Nonaktifkan indeks

Penting

Setelah Anda Disable indeks, SLS secara otomatis melepaskan storage untuk data indeks historis ketika periode retensi Logstore berakhir.

Prosedur

Pada halaman Search & Analysis Logstore target, pilih Index Attributes > Disable.

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), dan 100.

  • Dengan indeks bidang bertipe double atau long, kueri mengembalikan log di mana request_time lebih besar dari 100.

  • Jika Anda membuat indeks teks penuh dan indeks bidang bertipe double atau long, indeks teks penuh untuk request_time diabaikan, dan kueri mengembalikan log di mana request_time lebih 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 double atau long, tidak ada log relevan yang dikembalikan.

  • Buat hanya indeks teks penuh untuk mengkueri log yang berisi request_time dari seluruh teks log.

  • Kueri log yang berisi request_time dari bidang yang memiliki indeks bidang bertipe text.

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 status mengembalikan 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 nilai 200, string status tidak dihitung. Trafik indeks untuk 200 adalah 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 traffic dihitung sebagai tipe text.

    • Sub-key yang diindeks: index traffic dihitung berdasarkan tipe data yang ditentukan (text, long, atau double).

Tagihan

Logstore dalam mode bayar berdasarkan data yang diingest

Logstore dalam mode bayar berdasarkan fitur

Langkah selanjutnya

FAQ