Vue SEARCH_INDEX_OPTIONS

La vue INFORMATION_SCHEMA.SEARCH_INDEX_OPTIONS contient une ligne pour chaque option d'index de recherche d'un ensemble de données.

Autorisations requises

Pour afficher les métadonnées d'index de recherche, vous devez disposer de l'autorisation IAM (gestion de l'authentification et des accès) bigquery.tables.get ou bigquery.tables.list sur la table contenant l'index. Chacun des rôles IAM prédéfinis suivants inclut au moins l'une de ces autorisations :

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

Pour plus d'informations sur les autorisations BigQuery, consultez la page Contrôle des accès avec IAM.

Schéma

Lorsque vous interrogez la vue INFORMATION_SCHEMA.SEARCH_INDEX_OPTIONS, les résultats de la requête contiennent une ligne pour chaque option d'index de recherche d'un ensemble de données.

La vue INFORMATION_SCHEMA.SEARCH_INDEX_OPTIONS présente le schéma suivant :

Nom de la colonne Type de données Valeur
index_catalog STRING Nom du projet qui contient l'ensemble de données.
index_schema STRING Nom de l'ensemble de données contenant l'index.
table_name STRING Nom de la table de base sur laquelle l'index est créé.
index_name STRING Nom de l'index.
option_name STRING Nom de l'option, qui peut être l'un des suivants : analyzer, analyzer_options ou data_types.
option_type STRING Type de l'option.
option_value STRING Valeur de l'option.

Champ d'application et syntaxe

Les requêtes exécutées sur cette vue doivent être associées à un qualificatif d'ensemble de données. Le tableau suivant explique le champ d'application de la région pour cette vue :

Nom de la vue Champ d'application de la ressource Champ d'application de la région
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.SEARCH_INDEX_OPTIONS Niveau de l'ensemble de données Emplacement d'un ensemble de données
Remplacez les éléments suivants :

  • Facultatif : PROJECT_ID : ID de votre projet Google Cloud. Si non spécifié, le projet par défaut est utilisé.

    Exemple

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

    Exemple

    L'exemple suivant crée trois options d'index de recherche pour les colonnes de la table1, puis extrait ces options à partir des champs qui sont indexés :

    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';

    Le résultat ressemble à ce qui suit :

    +------------+------------------+---------------+----------------------------------+
    | 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"] |
    +------------+------------------+---------------+----------------------------------+
    

    L'exemple suivant crée une option d'index de recherche pour les colonnes de la table1, puis extrait ces options à partir des champs qui sont indexés. Si aucune option n'existe, l'option par défaut est générée :

    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';

    Le résultat ressemble à ce qui suit :

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

    L'exemple suivant ne crée aucune option d'index de recherche pour les colonnes de la table1, puis extrait les options par défaut à partir des champs qui sont indexés :

    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';

    Le résultat ressemble à ce qui suit :

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