カテゴリ:

:doc:`/sql-reference/functions-system`(システム情報)

SYSTEM$CKE_HASH_FUNCTION

:codenowrap:`hashedDocumentIds`をCortex Search Service内の元のドキュメントの主キーにマッピングして、:doc:`Cortexナレッジ拡張(CKE)</user-guide/snowflake-cortex/cortex-knowledge-extensions/cke-overview>`の使用状況を分析します。Snowflakeはプライバシー保護のためにハッシュ化されたIDsのみを共有するため、これが必要です。

この関数は、:doc:`/sql-reference/data-sharing-usage/listing-access-history`内のHASHED_DOC_IDにマッピングされるハッシュ化されたドキュメント識別子を返します。

こちらもご参照ください。

SYSTEM$ENCODE_CKE_PRIMARY_KEY

構文

SYSTEM$CKE_HASH_FUNCTION( '<hash_version>', '<encoded_primary_key>' )

引数

hash_version

:doc:`/sql-reference/data-sharing-usage/listing-access-history`ビューで提供される、使用されるハッシュ関数のバージョン。

encoded_primary_key

:doc:`/sql-reference/functions/system_encode_cke_primary_key`関数を呼び出したときに返されるエンコードされた主キー。

戻り値

ハッシュバージョンで指定された、ハッシュ化されたエンコード済みの主キーを返します。

次の例では、ハッシュバージョンを取得し、SYSTEM$CKE_HASH_FUNCTIONを使用して、すべての主キーに対してハッシュ化されたドキュメントIDを計算します。次の例では、``cke_document_daily_access``は:doc:`/sql-reference/data-sharing-usage/listing-access-history`から作成されたビューです。

WITH
  encoded_primary_keys AS
  (
    SELECT pkCol1,
          pkCol2,
          SYSTEM$ENCODE_CKE_PRIMARY_KEY(pkCol1, pkCol2) AS encoded_primary_key
      FROM your_cortex_search_table
  )
,
  hash_versions AS
  (
    SELECT DISTINCT(hash_version) AS hash_version
      FROM cke_document_daily_access
  )
SELECT pkCol1,
      pkCol2,
      hash_version,
      SYSTEM$CKE_HASH_FUNCTION(hash_version, encoded_primary_key) AS hashed_doc_id
  FROM encoded_primary_keys
  CROSS JOIN hash_versions;