Tampilan SEARCH_INDEXES
Tampilan INFORMATION_SCHEMA.SEARCH_INDEXES
berisi satu baris untuk setiap indeks
penelusuran dalam set data.
Izin yang diperlukan
Untuk melihat metadata indeks penelusuran, Anda memerlukan izin Identity and Access Management (IAM) bigquery.tables.get
atau bigquery.tables.list
pada tabel dengan indeks. Setiap peran IAM yang telah ditetapkan berikut menyertakan setidaknya salah satu izin ini:
roles/bigquery.admin
roles/bigquery.dataEditor
roles/bigquery.dataOwner
roles/bigquery.dataViewer
roles/bigquery.metadataViewer
roles/bigquery.user
Untuk mengetahui informasi selengkapnya tentang izin BigQuery, lihat Kontrol akses dengan IAM.
Skema
Saat Anda membuat kueri tampilanINFORMATION_SCHEMA.SEARCH_INDEXES
, hasil kueri akan berisi satu baris untuk setiap indeks penelusuran dalam set data.
Tampilan INFORMATION_SCHEMA.SEARCH_INDEXES
memiliki skema berikut:
Nama kolom | Jenis data | Nilai |
---|---|---|
index_catalog |
STRING |
Nama project yang berisi set data. |
index_schema |
STRING |
Nama set data yang berisi indeks. |
table_name |
STRING |
Nama tabel dasar tempat indeks dibuat. |
index_name |
STRING |
Nama indeks. |
index_status |
STRING |
Status indeks: ACTIVE , PENDING
DISABLEMENT , TEMPORARILY DISABLED , atau PERMANENTLY DISABLED .
|
creation_time |
TIMESTAMP |
Waktu pembuatan indeks. |
last_modification_time |
TIMESTAMP |
Terakhir kali konfigurasi indeks diubah. Misalnya, menghapus kolom yang diindeks. |
last_refresh_time |
TIMESTAMP |
Terakhir kali data tabel diindeks. Nilai NULL berarti indeks belum tersedia. |
disable_time |
TIMESTAMP |
Waktu status indeks ditetapkan ke DISABLED . Nilainya adalah NULL jika status indeks bukan DISABLED . |
disable_reason |
STRING |
Alasan indeks dinonaktifkan. NULL jika status indeks bukan DISABLED . |
DDL |
STRING |
Pernyataan DDL yang digunakan untuk membuat indeks. |
coverage_percentage |
INTEGER |
Perkiraan persentase data tabel yang telah diindeks. 0% berarti indeks tidak dapat digunakan dalam kueri SEARCH , meskipun jika beberapa data telah diindeks. |
unindexed_row_count |
INTEGER |
Jumlah baris dalam tabel dasar yang belum diindeks. |
total_logical_bytes |
INTEGER |
Jumlah byte logis yang dapat ditagih untuk indeks. |
total_storage_bytes |
INTEGER |
Jumlah byte penyimpanan yang dapat ditagih untuk indeks. |
analyzer |
STRING |
Penganalisis teks yang digunakan untuk menghasilkan token untuk indeks penelusuran. |
Cakupan dan sintaksis
Kueri terhadap tampilan ini harus memiliki penentu set data. Tabel berikut menjelaskan cakupan wilayah untuk tampilan ini:
Nama Tampilan | Cakupan resource | Cakupan region |
---|---|---|
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.SEARCH_INDEXES |
Level set data | Lokasi set data |
Opsional: PROJECT_ID
: ID project Google Cloud Anda. Jika tidak ditentukan, project default akan digunakan.
DATASET_ID
: ID set data Anda. Untuk mengetahui informasi selengkapnya, lihat Penentu set data.
Contoh
-- Returns metadata for search indexes in a single dataset.
SELECT * FROM myDataset.INFORMATION_SCHEMA.SEARCH_INDEXES;
Contoh
Contoh berikut menunjukkan semua indeks penelusuran aktif pada tabel dalam set data my_dataset
, yang terletak di project my_project
. Contoh ini mencakup nama indeks,
pernyataan DDL yang digunakan untuk membuatnya, persentase cakupannya, dan
penganalisis teksnya. Jika tabel dasar yang diindeks
kurang dari 10 GB, maka indeksnya tidak terisi, dan dalam hal ini
coverage_percentage
adalah 0.
SELECT table_name, index_name, ddl, coverage_percentage, analyzer
FROM my_project.my_dataset.INFORMATION_SCHEMA.SEARCH_INDEXES
WHERE index_status = 'ACTIVE';
Hasilnya akan terlihat seperti berikut:
+-------------+-------------+--------------------------------------------------------------------------------------+---------------------+----------------+ | table_name | index_name | ddl | coverage_percentage | analyzer | +-------------+-------------+--------------------------------------------------------------------------------------+---------------------+----------------+ | small_table | names_index | CREATE SEARCH INDEX `names_index` ON `my_project.my_dataset.small_table`(names) | 0 | NO_OP_ANALYZER | | large_table | logs_index | CREATE SEARCH INDEX `logs_index` ON `my_project.my_dataset.large_table`(ALL COLUMNS) | 100 | LOG_ANALYZER | +-------------+-------------+--------------------------------------------------------------------------------------+---------------------+----------------+