SEARCH_INDEX_OPTIONS 뷰

INFORMATION_SCHEMA.SEARCH_INDEX_OPTIONS 뷰에는 데이터 세트에 있는 각 검색 색인 옵션에 대해 하나의 행이 포함되어 있습니다.

필수 권한

검색 색인 메타데이터를 보려면 색인이 있는 테이블에 대한 bigquery.tables.get 또는 bigquery.tables.list Identity and Access Management(IAM) 권한이 필요합니다. 다음과 같은 사전 정의된 IAM 역할에는 이러한 권한 중 하나 이상이 포함되어 있습니다.

  • 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 뷰를 쿼리하면 데이터 세트에 있는 각 검색 색인 옵션마다 행이 하나씩 쿼리 결과에 포함됩니다.

INFORMATION_SCHEMA.SEARCH_INDEX_OPTIONS 뷰에는 다음과 같은 스키마가 있습니다.

열 이름 데이터 유형
index_catalog STRING 데이터 세트가 포함된 프로젝트의 이름입니다.
index_schema STRING 색인이 포함된 데이터 세트 이름입니다.
table_name STRING 색인이 생성되는 기본 테이블의 이름입니다.
index_name STRING 색인의 이름입니다.
option_name STRING 옵션 이름으로, analyzer, analyzer_options, data_types(미리보기) 중 하나일 수 있습니다.
option_type STRING 옵션의 유형입니다.
option_value STRING 옵션의 값입니다.

범위 및 구문

이 뷰에 대한 쿼리에는 데이터 세트 한정자가 있어야 합니다. 다음 표에는 이 뷰의 리전 범위가 나와 있습니다.

뷰 이름 리소스 범위 리전 범위
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.SEARCH_INDEX_OPTIONS 데이터 세트 수준 데이터 세트 위치
다음을 바꿉니다.

  • (선택사항) PROJECT_ID: Google Cloud 프로젝트의 ID입니다. 지정하지 않으면 기본 프로젝트가 사용됩니다.
  • DATASET_ID: 데이터 세트의 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 열에 대한 검색 색인 옵션 하나를 만든 후 색인이 생성되는 필드에서 해당 옵션을 추출합니다. 특정 옵션이 없으면 기본 옵션이 생성됩니다.

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