ALTER CORTEX SEARCH SERVICE

既存の Cortex Searchサービス のプロパティを一時停止、再開、または変更します。

構文

ALTER CORTEX SEARCH SERVICE [ IF EXISTS ] <name>
  { SUSPEND | RESUME } [ { INDEXING | SERVING } ]

ALTER CORTEX SEARCH SERVICE [ IF EXISTS ] <name> REFRESH

ALTER CORTEX SEARCH SERVICE [ IF EXISTS ] <name> SET
  [ TARGET_LAG = { '<num> { seconds | minutes | hours | days }' } ]
  [ WAREHOUSE = <warehouse_name> ]
  [ COMMENT = '<string_literal>' ]

ALTER CORTEX SEARCH SERVICE [ IF EXISTS ] <name> UNSET
  [ PRIMARY KEY ]

ALTER CORTEX SEARCH SERVICE <name>
  ADD SCORING PROFILE [ IF NOT EXISTS ] <profile_name>
  <scoring_profile>

ALTER CORTEX SEARCH SERVICE <name>
  DROP SCORING PROFILE [ IF EXISTS ] <profile_name>
Copy

パラメーター

name

変更するCortex Search Serviceの識別子を指定します。

識別子にスペースまたは特殊文字が含まれる場合は、文字列全体を二重引用符で囲む必要があります。二重引用符で囲まれた識別子も大文字と小文字が区別されます。

詳細については、 識別子の要件 をご参照ください。

{ SUSPEND | RESUME } ...

Suspends or resumes the indexing, serving, or both for a Cortex Search service. You can specify one of the following keywords to indicate which layer to suspend or resume:

INDEXING

Cortex Search Serviceのインデックス層を示すターゲット。詳細については、 使用上の注意 をご参照ください。

SERVING

Cortex Search Serviceのサービングレイヤーを示すターゲット。詳細については、 使用上の注意 をご参照ください。

どちらのキーワードも指定しない場合、インデックス作成レイヤーとサービングレイヤーの両方が一時停止または再開されます。Cortex Search Serviceを一時停止または再開するには、OPERATE権限が必要です。

REFRESH

Cortex Search Serviceの手動更新をトリガーします。インデックスサービスは、ソースデータの変更を即座にチェックし、新しい行や変更された行を処理します。

SET ...

Cortex Search Serviceに設定する1つ以上の指定されたプロパティまたはパラメーターを設定します。

TARGET_LAG = 'num { seconds | minutes | hours | days }'

Cortex Search Serviceのコンテンツがソースクエリで指定されたベーステーブルの更新から遅れる最大時間を指定します。

WAREHOUSE = warehouse_name

ソースクエリを実行し、検索インデックスを構築し、 TARGET_LAG ターゲットに従って更新し続けるために使用するウェアハウスを指定します。

COMMENT = 'string_literal'

アプリケーションのコメントを追加するか、既存のコメントを上書きします。

PRIMARY KEY = (column_name, column_name, ...)

Cortex Search Service用の:ref:`主キー列<label-cortex_search_primary_keys>`のセットを変更します。

UNSET ...

Cortex Search Serviceに設定する1つ以上の指定されたプロパティまたはパラメーターの設定を解除します。

PRIMARY KEY

Cortex Search Serviceで以前に設定された任意の:ref:`主キー列 <label-cortex_search_primary_keys>`を削除します。

ADD SCORING PROFILE profile_name [ IF NOT EXISTS ] scoring_profile

Cortex Search Serviceに名前付きスコアリングプロファイルを追加します。スコアリングプロファイルは、検索結果のカスタムランキング動作を定義します。詳細については、 名前付きスコアリングプロファイル をご参照ください。

profile_name

追加するスコアリングプロファイルの名前を指定します。指定した名前のプロファイルがすでに存在する場合は、 IF NOT EXISTS を指定しない限りエラーが発生します。既存のプロファイルを変更するには、まず DROP SCORING PROFILE を使用してそのプロファイルを削除します。

scoring_profile

JSON 文字列形式のスコアリングプロファイル定義。スキーマは、 scoring_config パラメーターを使用して検索クエリで直接指定されたスコアリング構成と同じです。構文と例については、 数値ブーストと時間減衰 をご参照ください。

DROP SCORING PROFILE [ IF EXISTS ] profile_name

Cortex Search Serviceサービスから名前付きスコアリングプロファイルを削除します。

profile_name

削除するスコアリングプロファイルの名前。

アクセス制御の要件

権限

オブジェクト

OWNERSHIP

プロパティを変更したいCortex Search Service。

OPERATE

一時停止または再開したいCortex Search Service。

Operating on an object in a schema requires at least one privilege on the parent database and at least one privilege on the parent schema.

指定された権限のセットを使用してカスタムロールを作成する手順については、 カスタムロールの作成 をご参照ください。

セキュリティ保護可能なオブジェクト に対して SQL アクションを実行するためのロールと権限付与に関する一般的な情報については、 アクセス制御の概要 をご参照ください。

使用上の注意

注意

Snowflakeサービスを使用する場合、お客様は、個人データ(ユーザーオブジェクト向け以外)、機密データ、輸出管理データ、またはその他の規制されたデータがメタデータとして入力されていないことを確認する必要があります。詳細については、 Snowflakeのメタデータフィールド をご参照ください。

INDEXING および SERVING 状態

Cortex Search Serviceには、 RUNNING または SUSPENDED の状態になることができる2つの異なるプロセス、 INDEXING と SERVING があります。

  • INDEXING はCortex Search Serviceのインデックス層を示すターゲットです。RUNNING 状態の時、サービスのソース・クエリによって参照されるベース・テーブルが変更されると、検索インデックスの一部として保存されているマテリアライズド・データが更新されます。これらのリフレッシュには、ウェアハウスの計算とベクトルの埋め込みという形でコストがかかります。SUSPENDED 状態の時、ベーステーブルの変更はリフレッシュのトリガーとならず、Cortex Search Serviceのクエリ可能なデータにも反映されません。

  • SERVING は、Cortex Search Serviceのサービングレイヤーを示すターゲットです。サービスがクエリ可能になるためには、このターゲットが RUNNING の状態でなければなりません。中断状態にある場合、Cortex Search Serviceは、Cortex Search サービス費用という形での請求は発生しません。

詳細なコストについては、 コストの考慮事項 をご参照ください。

Cortex Search Serviceの INDEXING 、 SERVING レイヤーは独立して管理することができます。例えば、 SERVING が実行状態で、 INDEXING が中断中であっても、サービスにクエリすることができます。ただし、 INDEXING が再開され、リフレッシュが正常に完了するまでは、 TARGET_LAG にかかわらず、ベースデータの変更はサービスに反映されません。

逆に、 SERVING が中断している間に INDEXING が実行されている場合、インデックスは更新を続けます。SERVING が再開されると、クエリ可能になるロードされたインデックスには、最新のソース・データが反映されます。

SERVING 、 INDEXING のどちらのキーワードも指定されていない場合、両方のターゲットが指定されたアクションの影響を受けます。

手動更新

Cortex Search Serviceを手動で更新すると、サービスはソースデータの変更を即座にチェックし、必要に応じてインデックスを更新します。結果をできるかぎり最新にする必要がある場合、Cortex Search Serviceの手動更新をトリガーします。 例えば、重要なドキュメントを追加または更新し、ユーザーがすぐに利用できるようにしたい場合などです。また、手動更新を使用して、営業開始時など特定の時間に常に結果を最新にすることもできます。

Cortex Search Serviceの手動更新は、 ALTER CORTEX SEARCH SERVICE ... REFRESH コマンドまたはSnowsightでトリガーできます。

主キー

Cortex Search Serviceの主キー列の変更は、今後の更新にのみ影響します。つまり、主キーの変更は、ソースデータへの次の変更後に有効になります。

以下の例では、 mysvc というCortex Search Serviceが使用するウェアハウスを、 my_new_wh に変更しています。

ALTER CORTEX SEARCH SERVICE mysvc SET WAREHOUSE = my_new_wh;
Copy

以下の例では、 mysvc というCortex Search Serviceのコメントフィールドを new_comment に設定しています。

ALTER CORTEX SEARCH SERVICE mysvc SET COMMENT = 'new_comment';
Copy

以下の例では、 mysvc というCortex Search Serviceのターゲット更新ラグを、 1 hour に変更しています。

ALTER CORTEX SEARCH SERVICE mysvc SET TARGET_LAG = '1 hour';
Copy

次の例では、 mysvc``という名前のCortex Search Serviceの主キー列を``region および``agent_id``に設定します。

ALTER CORTEX SEARCH SERVICE mysvc SET PRIMARY KEY = (region, agent_id);
Copy

次の例では、``mysvc``というCortex Search Serviceの主キー列をクリアします。

ALTER CORTEX SEARCH SERVICE mysvc UNSET PRIMARY KEY;
Copy

次の例では、 mysvc という名前のCortex Searchサービスの使用を一時停止します。

ALTER CORTEX SEARCH SERVICE mysvc SUSPEND SERVING;
Copy

次の例は、 mysvc という名前のCortex Searchサービスを手動で更新します。

ALTER CORTEX SEARCH SERVICE mysvc REFRESH;
Copy