Pencarian frasa mencocokkan urutan kata kunci yang tepat dalam log, berbeda dengan kueri tokenisasi standar.
Ikhtisar
Secara default, SLS menggunakan kueri tokenisasi. Misalnya, abc def mencocokkan semua log yang memuat abc dan def, tanpa memperhatikan urutannya. Untuk mencocokkan urutan kata kunci yang tepat, gunakan pencarian frasa.
Pencarian frasa mencocokkan urutan token yang dihasilkan oleh tokenisasi, bukan karakter mentah dari string aslinya. Jika suatu karakter dalam frasa dikonfigurasi sebagai pembatas (delimiter) dalam pengaturan indeks, karakter tersebut hanya digunakan untuk memisahkan token dan tidak dianggap sebagai bagian dari konten yang dicocokkan. Sebagai contoh, jika koma, tanda kurung siku, dan spasi semuanya dikonfigurasi sebagai pembatas, #"aa,bb", #"[aa bb]", dan #",aa bb," semuanya diurai menjadi urutan token yang sama: aa, bb, dan menghasilkan hasil yang identik. Jika karakter tersebut tidak dikonfigurasi sebagai pembatas, atau jika bidang tersebut menggunakan konfigurasi tokenisasi yang berbeda, hasilnya mungkin berbeda.
Pencarian frasa dijalankan dalam dua langkah:
SLS pertama-tama menjalankan pencarian standar (non-frasa). Misalnya,
#"abc def"pertama kali mengeksekusi pencarian standar untuk"abc def".CatatanLangkah awal ini dibatasi hingga 10.000 hasil.
SLS menyaring hasil tersebut untuk frasa yang tepat dan mengembalikan kecocokan akhir.
Sintaksis
SLS Query Skill for intelligent log query and analysis: Kueri dan analisis data log SLS dalam agen AI lokal menggunakan bahasa alami.
Pencarian berdasarkan bidang
key:#"abc def"Pencarian teks penuh
#"abc def"
Batasan
Hasil pencarian frasa hanya mendukung navigasi halaman secara berurutan. Lompatan acak ke halaman tertentu tidak didukung.
Histogram distribusi log menampilkan hasil dari pencarian non-frasa awal, bukan hasil akhir pencarian frasa.
Pencarian frasa tidak dapat digabungkan dengan pencocokan kabur (fuzzy match).
Pencarian frasa memerlukan tanda kutip ganda ("").
Operator NOT tidak didukung dalam pernyataan pencarian frasa. Misalnya,
not #"abc def"merupakan kueri yang tidak valid.Pernyataan analitik tidak dapat digunakan bersama pencarian frasa. Misalnya,
#"abc" | select ***tidak didukung. Fitur analisis cepat juga tidak tersedia untuk pencarian frasa.
Paginasi
Setiap pergantian halaman memicu pencarian frasa baru untuk mengambil set hasil berikutnya.
Setiap pencarian frasa memproses hingga 10.000 log. Satu halaman mungkin menampilkan jumlah log yang lebih sedikit daripada pengaturan Items per page, namun tetap memungkinkan navigasi ke halaman berikutnya. Hal ini berarti jumlah log yang cocok dalam batch 10.000 saat ini kurang dari nilai Items per page.
Sebagai contoh, dengan total 20.000 log dan 100 per halaman: jika pencarian frasa hanya mengembalikan 89 log tetapi opsi halaman berikutnya tersedia, berarti hanya 89 log dari 10.000 log pertama yang cocok. Navigasi ke halaman berikutnya akan memicu pencarian frasa kedua pada 10.000 log sisanya.
Contoh
Kueri untuk log yang memuat
redo_index/1.Pencarian non-frasa seperti
"redo_index/1"menggunakan indeks teks penuh untuk mencocokkan kata kunci. SLS memisahkan kueri berdasarkan pembatas (/) dan mengembalikan entri yang memuat token sepertiredo_indexdan1. Hal ini menghasilkan kecocokan yang tidak tepat, seperti/redo_index/318/.../1/...atau/redo_index/14912/.../1/....Pencarian frasa
#"redo_index/1"mencocokkan frasa lengkapredo_index/1. Hanya log yang memuat string persisredo_index/1yang dikembalikan. Bidang path file menampilkan segmen lengkap/redo_index/1/, yang mengonfirmasi bahwa pencarian frasa mempertahankan istilah tersebut apa adanya.
Kueri untuk log yang memuat
02/Mar(debug).Pencarian non-frasa time_local: 02/Mar menggunakan indeks teks penuh untuk mencocokkan kata kunci.
Hasilnya mencakup log dengan nilai
time_local01/Mar/2025:15:02:56. Meskipun tanggalnya adalah01/Mar, bukan02/Mar, entri ini tetap cocok karena02muncul dalam komponen waktu15:02:56danMardalam tanggal. Token-token tersebut dicocokkan secara independen.Pencarian frasa
time_local: #"02/Mar"mencocokkan frasa lengkap02/Mar.Log yang cocok memiliki nilai
time_local02/Mar/2025:23:59:56, yang memuat frasa persis02/Mar.