全部产品
Search
文档中心

Simple Log Service:Tipe Data

更新时间:Nov 09, 2025

Saat membuat indeks, Anda dapat mengatur tipe data suatu bidang menjadi teks, panjang, ganda, atau JSON. Topik ini menjelaskan tipe data dari setiap bidang dan memberikan contoh konfigurasi.

Ikhtisar Tipe Data

Saat membuat indeks di Konsol, Simple Log Service secara otomatis menghasilkan indeks bidang berdasarkan entri log pertama dalam data pratinjau. Anda juga dapat menyesuaikan indeks tersebut sesuai kebutuhan.

Simple Log Service menyediakan beberapa tipe data yang dapat dipilih sesuai dengan kebutuhan Anda:

  • Tipe teks, panjang, dan ganda:

    • Untuk menanyakan dan menganalisis bidang bertipe string, atur tipe datanya menjadi teks saat membuat indeks dan aktifkan Analitik untuk bidang tersebut.

    • Anda hanya dapat mengkueri nilai bidang menggunakan rentang numerik jika tipe data bidang tersebut diatur menjadi panjang atau ganda. Jika tipe data bidang diatur menjadi panjang atau ganda, Anda tidak dapat mengkueri bidang tersebut menggunakan asterisk (*) atau tanda tanya (?). Karakter wildcard digunakan untuk pencocokan kabur.

      • Jika nilai suatu bidang adalah integer, atur tipe data bidang tersebut menjadi long.

      • Jika nilai bidang adalah bilangan desimal, atur tipe datanya menjadi ganda. Jika tidak, Anda tidak dapat menanyakan bidang tersebut.

      • Jika tipe data bidang diatur menjadi panjang atau ganda tetapi nilainya adalah string, Anda tidak dapat menanyakan bidang tersebut.

      Penting

      Jika nilai bidang adalah nilai numerik yang tidak valid, Anda dapat mengkueri bidang tersebut menggunakan pernyataan pencarian not key > -1000000. Pernyataan tersebut mengembalikan log di mana nilai bidang adalah nilai numerik yang tidak valid. Anda dapat mengganti -1000000 dengan nilai numerik valid yang lebih kecil atau sama dengan nilai numerik valid terkecil dari bidang dalam log Anda.

  • Tipe JSON: Jika nilai suatu bidang bertipe JSON, Anda dapat mengatur tipe datanya menjadi JSON saat membuat indeks.

    • Anda dapat mengatur tipe data bidang dalam objek JSON menjadi panjang, ganda, atau teks berdasarkan nilai bidang dan mengaktifkan Analitik untuk bidang tersebut. Setelah Anda mengaktifkan Analitik, Simple Log Service memungkinkan Anda mengkueri dan menganalisis bidang tersebut.

      Jika Anda memilih Automatically Index All Text Fields in JSON Field, indeks akan dibuat secara otomatis untuk semua bidang bertipe teks dalam objek JSON. Setelah indeks dibuat, lalu lintas indeks akan dihasilkan.image.png

    • Untuk data JSON yang sebagian valid, Simple Log Service hanya dapat mengurai bagian data yang valid.

      Contoh berikut menunjukkan log JSON yang tidak lengkap. Simple Log Service dapat mengurai bidang content.remote_addr, content.request.request_length, dan content.request.request_method.

      content: {
           remote_addr:"192.0.2.0"
           request: {
                   request_length:"73"
                   request_method:"GE
      Penting
      • Anda hanya dapat membuat indeks untuk node daun dalam objek JSON. Anda tidak dapat membuat indeks untuk node anak yang berisi node daun.

      • Anda tidak dapat membuat indeks untuk bidang yang nilainya adalah array JSON atau bidang dalam array JSON.

      • Jika nilai suatu bidang bertipe Boolean, Anda dapat mengatur tipe datanya menjadi teks saat membuat indeks.

      • Pernyataan kueri menggunakan format Pernyataan Pencarian|Pernyataan Analitik. Dalam pernyataan analitik, Anda harus mengapit nama bidang dalam tanda kutip ganda ("") dan string dalam tanda kutip tunggal ('').

    • Referensi

      • Untuk informasi lebih lanjut tentang skenario dan FAQ terkait query dan analisis log JSON, lihat FAQ tentang query dan analisis log JSON. FAQ mencakup cara membuat indeks, menanyakan dan menganalisis bidang JSON yang diindeks, menggunakan fungsi JSON, serta menganalisis array JSON.

      • Untuk informasi lebih lanjut tentang konfigurasi dan prosedur terkait query dan analisis log JSON, lihat Query dan analisis log JSON.

      • Jika volume data log JSON yang ingin Anda tanyakan dan analisis kecil, Anda tidak perlu membuat indeks untuk node daun JSON. Dalam hal ini, Anda dapat menggunakan fungsi JSON untuk menanyakan dan menganalisis log. Untuk informasi lebih lanjut tentang penggunaan fungsi JSON, lihat Kapan saya perlu menggunakan fungsi JSON? Untuk deskripsi dan contoh fungsi JSON, lihat Fungsi JSON.

Prosedur

  1. Buat indeks di konsol Simple Log Service. Untuk informasi lebih lanjut, lihat Buat Indeks.

  2. Pilih tipe data untuk bidang saat membuat indeks.

    teks, panjang, dan tipe ganda

    • Contoh logtext日志样例

    • Konfigurasi indekstext索引

    • Contoh pernyataan query

      • Kueri untuk log di mana waktu permintaan lebih besar dari 60: request_time > 60.

      • Kueri untuk log di mana waktu permintaan lebih besar dari atau sama dengan 60 dan kurang dari 200: request_time in [60 200) atau request_time >= 60 and request_time < 200.

      • Kueri untuk log di mana status permintaan adalah 200: status = 200.

      • Kueri untuk log yang bukan permintaan GET: not request_method : GET.

      • Kueri untuk log yang dimulai dengan "cn": cn*.

      • Kumpulkan statistik distribusi klien: * | SELECT ip_to_province(client_ip) as province, count(*) AS pv GROUP BY province ORDER BY pv.

    Tipe JSON

    • Contoh log

      Gambar berikut menunjukkan contoh log JSON. Log tersebut berisi bidang class, latency, status, dan info, serta bidang cadangan Simple Log Service. Nilai dari bidang info adalah objek JSON dengan beberapa lapisan.

      JSON日志样例

    • Konfigurasi indeks配置索引

      Berikut adalah detail tambahan:

      • Nilai dari bidang IP dan data adalah array JSON. Oleh karena itu, Anda tidak dapat membuat indeks untuk bidang IP atau data dan Anda tidak dapat mengkueri atau menganalisis data menggunakan bidang tersebut.

      • Bidang region dan CreateTime berada dalam array JSON. Oleh karena itu, Anda tidak dapat membuat indeks untuk bidang region atau CreateTime dan Anda tidak dapat mengkueri atau menganalisis data menggunakan bidang tersebut.

    • Contoh pernyataan query

      • Kueri untuk log di mana nilai bidang usedTime lebih besar dari 60: info.usedTime > 60.

      • Kueri untuk log di mana nilai bidang success adalah true: info.success : true.

      • Kueri untuk log di mana nilai bidang usedTime lebih besar dari 60 dan nilai bidang projectName bukan project01: info.usedTime > 60 not info.param.projectName : project01.

      • Hitung waktu rata-rata yang diperlukan untuk mengambil informasi proyek: methodName = getProjectInfo | SELECT avg("info.usedTime") AS avg_time.