Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
FilterIndeks
Gunakan filterIndex untuk mengembalikan data yang diindeks saja, dengan memaksa kueri untuk memindai hanya grup log yang diindeks pada bidang yang Anda tentukan dalam kueri. Untuk grup log yang diindeks pada bidang ini, lebih lanjut mengoptimalkan kueri dengan melewatkan grup log yang tidak memiliki peristiwa log yang berisi bidang yang ditentukan dalam kueri untuk bidang yang diindeks. Ini lebih lanjut mengurangi volume yang dipindai dengan mencoba memindai hanya peristiwa log dari grup log ini yang cocok dengan nilai yang ditentukan dalam kueri untuk indeks bidang ini. Untuk informasi selengkapnya tentang indeks bidang dan cara membuatnya, lihatBuat indeks bidang untuk meningkatkan kinerja kueri dan mengurangi volume pemindaian.
Menggunakan filterIndex dengan bidang yang diindeks dapat membantu Anda menanyakan grup log yang menyertakan petabyte data log secara efisien dengan membatasi ruang pencarian aktual untuk grup log dan peristiwa log yang memiliki indeks bidang.
Misalnya, Anda telah membuat indeks bidang untuk IPaddress beberapa grup log di akun Anda. Anda kemudian dapat membuat kueri berikut dan memilih untuk menanyakan semua grup log di akun untuk menemukan peristiwa log yang menyertakan nilai 198.51.100.0 di IPaddress bidang.
fields @timestamp, @message | filterIndex IPaddress = "198.51.100.0" | limit 20
Per filterIndex intah ini menyebabkan kueri ini mencoba untuk melewati semua grup log yang tidak diindeks. IPaddress Selain itu, dalam grup log yang diindeks, kueri melewatkan peristiwa log yang memiliki IPaddress bidang tetapi tidak diamati 198.51.100.0 sebagai nilai untuk bidang itu.
Gunakan IN operator untuk memperluas hasil ke salah satu dari beberapa nilai untuk bidang yang diindeks. Contoh berikut menemukan peristiwa log yang menyertakan nilai 198.51.100.0 atau 198.51.100.1 di IPaddress bidang.
fields @timestamp, @message | filterIndex IPaddress in ["198.51.100.0", "198.51.100.1"] | limit 20
CloudWatch Log menyediakan indeks bidang default untuk semua grup log di kelas log Standar. Indeks bidang default secara otomatis tersedia untuk bidang berikut:
-
@logStream -
@aws.region -
@aws.account -
@source.log -
@data_source_name -
@data_source_type -
@data_format -
traceId -
severityText -
attributes.session.id
CloudWatch Log menyediakan indeks bidang default untuk nama sumber data tertentu dan kombinasi tipe juga. Indeks bidang default secara otomatis tersedia untuk kombinasi nama dan tipe sumber data berikut:
| Nama dan Jenis Sumber Data | Indeks Bidang Default |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
Indeks bidang default adalah tambahan untuk indeks bidang kustom yang Anda tentukan dalam kebijakan Anda. Indeks bidang default tidak dihitung dalam kuota indeks bidang Anda.
FilterIndex dibandingkan dengan filter
Untuk mengilustrasikan perbedaan antara filterIndex danfilter, pertimbangkan contoh kueri berikut. Asumsikan bahwa Anda telah membuat indeks bidang untukIPaddress, untuk empat grup log Anda, tetapi tidak untuk grup log kelima. Kueri berikut yang digunakan filterIndex akan melewati pemindaian grup log yang tidak memiliki bidang yang diindeks. Untuk setiap grup log yang diindeks, ia mencoba memindai hanya peristiwa log yang memiliki bidang yang diindeks, dan juga hanya mengembalikan hasil setelah indeks bidang dibuat.
fields @timestamp, @message | filterIndex IPaddress = "198.51.100.0" | limit 20
Sebaliknya, jika Anda menggunakan alih- filter alih filterIndex untuk kueri dari lima grup log yang sama, kueri akan mencoba memindai tidak hanya peristiwa log yang berisi nilai dalam grup log yang diindeks, tetapi juga akan memindai grup log kelima yang tidak diindeks, dan itu akan memindai setiap peristiwa log di grup log kelima itu.
fields @timestamp, @message | filter IPaddress = "198.51.100.0" | limit 20