SEARCH_INDEX_OPTIONS ビュー

INFORMATION_SCHEMA.SEARCH_INDEX_OPTIONS ビューには、データセット内の検索インデックス オプションごとに 1 行が表示されます。

必要な権限

検索インデックスのメタデータを表示するには、インデックスを含むテーブルに対する bigquery.tables.get または bigquery.tables.list の Identity and Access Management(IAM)権限が必要です。次の事前定義済みの各 IAM ロールには、これらのうち少なくとも 1 つの権限が含まれています。

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

BigQuery の権限の詳細については、IAM でのアクセス制御をご覧ください。

スキーマ

INFORMATION_SCHEMA.SEARCH_INDEX_OPTIONS ビューにクエリを実行すると、データセット内の各検索インデックス オプションに関する情報が 1 行ずつ表示されるクエリ結果が返されます。

INFORMATION_SCHEMA.SEARCH_INDEX_OPTIONS ビューのスキーマは次のとおりです。

列名 データ型
index_catalog STRING データセットを含むプロジェクトの名前。
index_schema STRING インデックスを含むデータセットの名前。
table_name STRING インデックスが作成されるベーステーブルの名前。
index_name STRING インデックスの名前。
option_name STRING オプションの名前。analyzeranalyzer_optionsdata_types のいずれかです。
option_type STRING オプションのタイプ。
option_value STRING オプションの値。

スコープと構文

このビューに対するクエリでは、データセット修飾子を指定する必要があります。 次の表で、このビューのリージョン スコープを説明します。

View Name リソース スコープ リージョン スコープ
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.SEARCH_INDEX_OPTIONS データセット レベル データセットの場所
次のように置き換えます。

  • 省略可: PROJECT_ID: Google Cloud プロジェクトの ID。指定しない場合は、デフォルトのプロジェクトが使用されます。

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

    次の例では、table1 の列に 3 つの検索インデックス オプションを作成し、インデックスに登録されているフィールドからそれらのオプションを抽出します。

    CREATE SEARCH INDEX myIndex ON `mydataset.table1` (ALL COLUMNS) OPTIONS (
      analyzer = 'LOG_ANALYZER',
      analyzer_options = '{ "delimiters" : [".", "-"] }',
      data_types = ['STRING', 'INT64', 'TIMESTAMP']
    );
    
    SELECT index_name, option_name, option_type, option_value
    FROM mydataset.INFORMATION_SCHEMA.SEARCH_INDEX_OPTIONS
    WHERE table_name='table1';

    次のような結果になります。

    +------------+------------------+---------------+----------------------------------+
    | index_name |  option_name     | option_type   | option_value                     |
    +------------+------------------+---------------+----------------------------------+
    | myIndex    | analyzer         | STRING        | LOG_ANALYZER                     |
    | myIndex    | analyzer_options | STRING        | { "delimiters": [".", "-"] }     |
    | myIndex    | data_types       | ARRAY<STRING> | ["STRING", "INT64", "TIMESTAMP"] |
    +------------+------------------+---------------+----------------------------------+
    

    次の例では、table1 の列に対して 1 つの検索インデックス オプションを作成し、インデックスに登録されているフィールドからそのオプションを抽出します。オプションが存在しない場合は、デフォルト オプションが生成されます。

    CREATE SEARCH INDEX myIndex ON `mydataset.table1` (ALL COLUMNS) OPTIONS (
      analyzer = 'NO_OP_ANALYZER'
    );
    
    SELECT index_name, option_name, option_type, option_value
    FROM mydataset.INFORMATION_SCHEMA.SEARCH_INDEX_OPTIONS
    WHERE table_name='table1';

    次のような結果になります。

    +------------+------------------+---------------+----------------+
    | index_name |  option_name     | option_type   | option_value   |
    +------------+------------------+---------------+----------------+
    | myIndex    | analyzer         | STRING        | NO_OP_ANALYZER |
    | myIndex    | data_types       | ARRAY<STRING> | ["STRING"]     |
    +------------+------------------+---------------+----------------+
    

    次の例では、table1 の列に検索インデックス オプションを作成せず、インデックスに登録されているフィールドからデフォルト オプションを抽出します。

    CREATE SEARCH INDEX myIndex ON `mydataset.table1` (ALL COLUMNS);
    
    SELECT index_name, option_name, option_type, option_value
    FROM mydataset.INFORMATION_SCHEMA.SEARCH_INDEX_OPTIONS
    WHERE table_name='table1';

    次のような結果になります。

    +------------+------------------+---------------+----------------+
    | index_name |  option_name     | option_type   | option_value   |
    +------------+------------------+---------------+----------------+
    | myIndex    | analyzer         | STRING        | LOG_ANALYZER   |
    | myIndex    | data_types       | ARRAY<STRING> | ["STRING"]     |
    +------------+------------------+---------------+----------------+