Ansicht SEARCH_INDEX_COLUMN_OPTIONS

Die Ansicht INFORMATION_SCHEMA.SEARCH_INDEX_COLUMN_OPTIONS enthält eine Zeile für jede Option, die für eine suchindexierte Spalte in den Tabellen eines Datasets festgelegt wurde.

Erforderliche Berechtigungen

Zum Aufrufen der Metadaten des Suchindex benötigen Sie die Berechtigung bigquery.tables.get oder bigquery.tables.list der Identitäts- und Zugriffsverwaltung (Identity and Access Management, IAM) für die Tabelle mit dem Index. Jede der folgenden vordefinierten IAM-Rollen enthält mindestens eine der folgenden Berechtigungen:

  • roles/bigquery.admin
  • roles/bigquery.dataEditor
  • roles/bigquery.dataOwner
  • roles/bigquery.dataViewer
  • roles/bigquery.metadataViewer
  • roles/bigquery.user

Weitere Informationen zu BigQuery-Berechtigungen finden Sie unter Zugriffssteuerung mit IAM.

Schema

Wenn Sie die Ansicht INFORMATION_SCHEMA.SEARCH_INDEX_COLUMN_OPTIONS abfragen, wird im Ergebnis jede Option, die für eine suchindexierte Spalte in den Tabellen eines Datasets festgelegt ist, in einer eigenen Zeile dargestellt.

Die Ansicht INFORMATION_SCHEMA.SEARCH_INDEX_OPTIONS hat das folgende Schema:

Spaltenname Datentyp Wert
index_catalog STRING Der Name des Projekts, zu dem das Dataset gehört.
index_schema STRING Der Name des Datasets, das den Index enthält.
table_name STRING Der Name der Basistabelle, für die der Index erstellt wird.
index_name STRING Der Name des Index.
column_name STRING Der Name der indexierten Spalte, für die die Option festgelegt ist.
option_name STRING Der Name der Option, die für die Spalte angegeben ist.
option_type STRING Der Typ der Option.
option_value STRING Der Wert der Option.

Bereich und Syntax

Für Abfragen dieser Ansicht muss ein Dataset-Qualifizierer verwendet werden. In der folgenden Tabelle wird der Regionsbereich für diese Ansicht erläutert:

Ansichtsname Ressourcenbereich Regionsbereich
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.SEARCH_INDEX_COLUMN_OPTIONS Dataset-Ebene Dataset-Speicherort
Dabei gilt:
  • Optional: PROJECT_ID: die ID Ihres Google Cloud-Projekts. Wenn keine Angabe erfolgt, wird das Standardprojekt verwendet.
  • DATASET_ID: die ID Ihres Datasets. Weitere Informationen finden Sie unter Dataset-Qualifier.

Beispiel

-- Returns metadata for search index column options in a single dataset.
SELECT * FROM myDataset.INFORMATION_SCHEMA.SEARCH_INDEX_COLUMN_OPTIONS;

Beispiel

Im folgenden Beispiel wird die Detaillierungsebene der Standardindexspalte auf COLUMN festgelegt und die Detaillierungsebene für col2 und col3 jeweils auf GLOBAL und COLUMN. In diesem Beispiel werden die Spalten col2 und col3 in den Ergebnissen angezeigt, da ihre Detaillierung explizit festgelegt ist. Die Detailebene für Spalte col1 wird nicht angezeigt, da die Standarddetailebene verwendet wird.

CREATE SEARCH INDEX index1 ON `mydataset.table1` (
  ALL COLUMNS WITH COLUMN OPTIONS (
    col2 OPTIONS(index_granularity = 'GLOBAL'),
    col3 OPTIONS(index_granularity = 'COLUMN')
  )
)
OPTIONS(
  default_index_column_granularity = 'COLUMN'
);

SELECT
  index_column_name, option_name, option_type, option_value
FROM
  mydataset.INFORMATION_SCHEMA.SEARCH_INDEX_COLUMN_OPTIONS
WHERE
  index_schema = 'mydataset' AND index_name = 'index1' AND table_name = 'table1';

Das Ergebnis sieht etwa so aus:

+-------------+-------------------+---------------+--------------+
| column_name |  option_name      | option_type   | option_value |
+-------------+-------------------+---------------+--------------+
| col2        | index_granularity | STRING        | GLOBAL       |
| col3        | index_granularity | STRING        | COLUMN       |
+-------------+-------------------+---------------+--------------+

Im folgenden äquivalenten Beispiel, in dem ALL COLUMNS nicht verwendet wird, wird die Standardgranularität der Indexspalte auf COLUMN festgelegt und die Granularität für zwei Spalten jeweils auf GLOBAL und COLUMN:

CREATE SEARCH INDEX index1 ON `mydataset.table1` (
  col1,
  col2 OPTIONS(index_granularity = 'GLOBAL'),
  col3 OPTIONS(index_granularity = 'COLUMN')
)
OPTIONS(
  default_index_column_granularity = 'COLUMN'
);

SELECT
  index_column_name, option_name, option_type, option_value
FROM
  mydataset.INFORMATION_SCHEMA.SEARCH_INDEX_COLUMN_OPTIONS
WHERE
  index_schema = 'mydataset' AND index_name = 'index1' AND table_name = 'table1';

Das Ergebnis sieht etwa so aus:

+-------------+-------------------+---------------+--------------+
| column_name |  option_name      | option_type   | option_value |
+-------------+-------------------+---------------+--------------+
| col2        | index_granularity | STRING        | GLOBAL       |
| col3        | index_granularity | STRING        | COLUMN       |
+-------------+-------------------+---------------+--------------+