次の方法で共有


semanticsimilaritytable (Transact-SQL)

適用対象:SQL Server

指定した列の内容が指定したドキュメントと意味的に似ているドキュメントの 0 行、1 行、または複数行のテーブルを返します。

この行セット関数は、通常のテーブル名のようなSELECTステートメントのFROM句で参照できます。

Transact-SQL 構文表記規則

Syntax

SEMANTICSIMILARITYTABLE
    (
      table
      , { column | (column_list) | * }
      , source_key
    )

Arguments

テーブル

フルテキスト インデックス作成とセマンティック インデックス作成が有効になっているテーブルの名前。

この名前は 1 から 4 部構成の名前にすることができますが、リモート サーバー名は使用できません。

column

結果を返すインデックス付き列の名前。 列でセマンティック インデックス作成が有効になっている必要があります。

column_list

複数の列をコンマで区切り、かっこで囲んで示します。 すべての列でセマンティック インデックス作成が有効になっている必要があります。

*

セマンティック インデックスが有効になっているすべての列が含まれていることを示します。

source_key

特定の行の結果を要求する行の一意のキー。

キーは、可能な限り、ソース テーブルのフルテキスト一意キーの型に暗黙的に変換されます。 キーは定数または変数として指定できますが、スカラー サブクエリの式または結果にすることはできません。

Table returned

次の表は、この行セット関数が返す類似ドキュメントまたは関連ドキュメントに関する情報を示しています。

一致したドキュメントは、複数の列から結果が要求された場合、列ごとに返されます。

Column name タイプ Description
source_column_id 1 int ソース ドキュメントを使用して類似したドキュメントを検出したときの、検出元の列の ID。
matched_column_id 1 int 類似のドキュメントが見つかった列の ID。
matched_document_key *

このキーは、ソース テーブル内の一意キーの型と一致します。
クエリで指定したドキュメントに類似していることが判明したドキュメントまたは行の、フルテキストおよびセマンティックな抽出の一意のキー値。
score real 類似した他のすべてのドキュメントとの関係における、このドキュメントの類似性の相対値。 この値は、[0.0, 1.0] の範囲内の小数部の 10 進値であり、高いスコアは近い一致を表し、1.0 は完全なスコアです。

1column_idから列名を取得する方法の詳細については、COL_NAME関数と COLUMNPROPERTY 関数を参照してください。

Remarks

詳細については、「 セマンティック検索を使用した類似ドキュメントおよび関連ドキュメントの検索を参照してください。

Limitations

類似ドキュメントの列間でクエリを実行することはできません。 SEMANTICSIMILARITYTABLE関数は、source_key引数で識別されるソース列と同じ列から同様のドキュメントのみを取得します。

Metadata

セマンティック類似性の抽出と作成に関する情報と状態については、次の動的管理ビューを照会します。

Permissions

フルテキスト インデックスとセマンティック インデックスが作成されたベース テーブルに対する SELECT アクセス許可が必要です。

Examples

次の例では、AdventureWorks2022 サンプル データベースのHumanResources.JobCandidate テーブルから、指定した候補に似た上位 10 人の候補を取得します。

SELECT TOP (10) KEY_TBL.matched_document_key AS Candidate_ID
FROM SEMANTICSIMILARITYTABLE (HumanResources.JobCandidate, Resume, @CandidateID) AS KEY_TBL
ORDER BY KEY_TBL.score DESC;