All Products
Search
Document Center

Simple Log Service:Kueri frasa (indeks posisi)

Last Updated:Aug 04, 2026

Indeks posisi mencatat urutan dan posisi token, memungkinkan pencocokan frasa pada tingkat indeks. Setelah diaktifkan, kueri frasa mengembalikan hasil log dan histogram yang akurat tanpa perlu memindai log kandidat.

Penting

Fitur indeks posisi saat ini dalam masa pratinjau dan tidak dikenai biaya. Fitur ini hanya tersedia bagi pengguna yang berada dalam daftar izin (allowlist). Untuk menggunakannya, kirimkan tiket untuk mengajukan akses.

Cara kerja

Indeks posisi merupakan sakelar tingkat Logstore yang mewarisi konfigurasi indeks yang ada terkait sensitivitas huruf besar/kecil, segmentasi kata bahasa Tionghoa, dan pembatas (delimiter). Fitur ini tidak memperluas cakupan indeks yang sudah ada. Setelah diaktifkan, sistem akan mencatat posisi token untuk semua indeks teks yang dapat ditokenisasi, termasuk indeks teks penuh, indeks bidang bertipe teks, serta bidang daun (leaf field) yang diindeks sebagai teks dalam indeks bidang bertipe JSON. Bidang yang tidak memiliki indeks teks tidak akan menghasilkan indeks posisi.

Sebagai contoh, jika indeks teks penuh dinonaktifkan dan hanya message yang memiliki indeks bidang bertipe teks, serta bidang daun error di bawah bidang JSON payload memiliki indeks bertipe teks, maka hanya message dan payload.error yang menghasilkan indeks posisi.

Prasyarat

Aktifkan indeks posisi

Aktifkan melalui Konsol

Aktifkan melalui Konsol

  1. Masuk ke Konsol Simple Log Service.

  2. Buka halaman kueri dan analisis Logstore target.

  3. Pilih Query and Analysis Properties > Properties.

  4. Aktifkan sakelar Enable Position Index di bagian bawah halaman, lalu simpan konfigurasi tersebut.

Konfigurasi akan berlaku dalam waktu sekitar satu menit.

Aktifkan melalui SDK

Aktifkan melalui SDK

Contoh berikut menggunakan Python SDK. SDK bahasa lain mengikuti pendekatan serupa.

Instal Python SDK:

pip install -U aliyun-log-python-sdk

Pembaruan indeks akan menimpa seluruh konfigurasi. Baca terlebih dahulu konfigurasi yang ada, lalu tambahkan bidang tingkat atas "position_index": true:

from aliyun.log import LogClient

class IndexConfigJson(dict):
    def to_json(self):
        return self

client = LogClient(
    "your-endpoint",
    "your-access-key-id",
    "your-access-key-secret",
)

project = "your-project"
logstore = "your-logstore"

config = client.get_index_config(project, logstore).get_body()
config.pop("lastModifyTime", None)
config["position_index"] = True
client.update_index(project, logstore, IndexConfigJson(config))

Gunakan kueri frasa

Kueri frasa menggunakan # sebagai identifikasi dan membungkus frasa dalam tanda kutip ganda.

Jenis kueriSintaksContoh
Kueri frasa teks penuh#"frasa"#"connection reset"
Kueri frasa bidangfield:#"frasa"message:#"connection reset"

Kueri frasa mencocokkan urutan token yang telah ditokenisasi dan posisi yang berdekatan, bukan pencocokan karakter per karakter. Sebagai contoh, connection reset by peer cocok dengan #"connection reset", tetapi connection was reset by peer tidak cocok.

Perbandingan kemampuan

Indeks posisi tidak mengubah sintaks kueri frasa, tetapi meningkatkan kemampuan kueri:

ItemTanpa indeks posisiDengan indeks posisi
Metode pencocokanMembaca log kandidat dan memverifikasinya satu per satuMelakukan pencocokan eksak pada tingkat indeks
Paginasi hasilHanya mendukung paginasi berurutanMendukung paginasi berurutan dan lompat halaman acak
HistogramBerdasarkan hasil kandidat kata kunciBerdasarkan hasil frasa yang tepat
Kombinasi kondisiTidak mendukung kondisi NOT atau kueri fuzzyMendukung kondisi AND, OR, NOT, dan kueri fuzzy
Pernyataan analitikTidak didukungDidukung
SPLTidak didukungDidukung

Contoh berikut menunjukkan kondisi dan analitik yang hanya tersedia jika indeks posisi diaktifkan:

not #"connection reset"
#"connection reset" and host:api-*
#"connection reset" | SELECT level, count(*) GROUP BY level
#"connection reset" | where level = 'ERROR'

Catatan penggunaan

  • Indeks posisi hanya berlaku untuk data baru yang ditulis atau data yang telah dibangun ulang indeksnya. Data historis tidak secara otomatis menghasilkan indeks posisi.

  • Kueri frasa yang ditingkatkan hanya digunakan jika seluruh data dalam rentang kueri memiliki indeks posisi. Jika terdapat data dalam rentang tersebut yang tidak memiliki indeks posisi, kueri akan kembali menggunakan jalur pemrosesan tanpa indeks posisi.

  • Mengaktifkan indeks posisi meningkatkan beban pembuatan dan penyimpanan indeks. Peningkatan tersebut terutama bergantung pada frekuensi kemunculan token.

  • Token berfrekuensi tinggi dan rentang waktu yang lebih panjang meningkatkan volume pembacaan data posisi. Persempit rentang waktu, tambahkan kondisi bidang, atau gunakan frasa yang lebih spesifik.

  • Jika sebuah Logstore memiliki indeks teks penuh dan indeks bidang bertipe teks dengan konfigurasi tokenisasi yang berbeda, kueri frasa teks penuh #"frasa" hanya mencocokkan berdasarkan hasil tokenisasi indeks teks penuh. Untuk konten yang hanya dapat dicocokkan melalui indeks bidang, gunakan kueri frasa bidang field:#"frasa".

  • Saat memperbarui indeks melalui API atau SDK, pertahankan konfigurasi indeks yang ada agar tidak menimpa dan kehilangan pengaturan yang telah ditetapkan sebelumnya.