sp_fulltext_keymappings (Transact-SQL)
適用対象:SQL ServerAzure SQL Managed InstanceAnalytics Platform System (PDW)
ドキュメント識別子 (DocId) とフルテキスト キー値の間のマッピングを返します。 DocId 列には、 フルテキスト インデックス付きテーブルの特定のフルテキスト キー値にマップされる bigint 整数の値が含まれています。 検索条件に一致する DocId 値は、Full-Text Engine からデータベース エンジンに渡され、そこでクエリ対象のベース テーブルのフルテキスト キー値にマップされます。 フルテキスト キー列は、テーブルの 1 つの列に必要な一意のインデックスです。
構文
sp_fulltext_keymappings { table_id | table_id , docId | table_id , NULL , key }
[ ; ]
引数
table_id
フルテキスト インデックス付きテーブルのオブジェクト ID。 無効な table_idを指定すると、エラーが返されます。 テーブルのオブジェクト ID の取得については、「OBJECT_ID (Transact-SQL)」を参照してください。
Docid
キー値に対応する内部ドキュメント識別子 (DocId)。 無効な docId 値は結果を返しません。
キー
指定したテーブルのフルテキスト キー値。 key 値が無効な場合、結果は返されません。 フルテキスト キー値の詳細については、「フルテキスト インデックスの管理」を参照してください。
リターン コードの値
なし。
結果セット
列名 | データ型 | 説明 |
---|---|---|
DocId |
bigint | キー値に対応する内部ドキュメント識別子 (DocId) 列。 |
Key |
1 | 指定したテーブルのフルテキスト キー値。 マッピング テーブルにフルテキスト キーが存在しない場合は、空の行セットが返されます。 |
1 Key のデータ型は、ベース テーブルのフルテキスト キー列のデータ型と同じです。
アクセス許可
この関数はパブリックであり、特別なアクセス許可は必要ありません。
解説
次の表に、1 つ、2 つ、または 3 つのパラメーターを使用した場合の効果を示します。
このパラメーター リスト... | この結果が得られます... |
---|---|
table_id | table_id パラメーターのみで呼び出された場合は、sp_fulltext_keymappings 指定したベース テーブルのすべてのフルテキスト キー (Key) 値と、各キーに対応する DocId を返します。 これには削除保留中のキーが含まれます。この関数は、さまざまな問題のトラブルシューティングに役立ちます。 選択したフルテキスト キーが整数データ型でない場合に、フルテキスト インデックスの内容を表示する場合に便利です。 これには、結果 sp_fulltext_keymappings と結果の結合が sys.dm_fts_index_keywords_by_document 含まれます。 詳細については、「sys.dm_fts_index_キーワード (keyword)s_by_document (Transact-SQL)」を参照してください。ただし、一般に、可能であれば、特定のフルテキスト キーまたは DocId を指定するパラメーターを使用して実行 sp_fulltext_keymappings することをお勧めします。 これは、キー マップ全体を返すよりもはるかに効率的です。特に、キー マップ全体を返すパフォーマンス コストが大きくなる可能性がある大きなテーブルの場合です。 |
table_id、docId | table_idと docId のみを指定する場合、docId は NULL 以外で、指定したテーブルに有効な DocId を指定する必要があります。 この機能は、カスタム フルテキスト キーを、特定のフルテキスト インデックスの DocId に対応するベース テーブルから切り離す場合に役立ちます。 |
table_id、NULL、キー | 3 つのパラメーターが存在する場合、2 番目のパラメーターは NULL 、キー は NULL 以外で、指定したテーブルの有効なフルテキスト キー値を指定する必要があります。 この機能は、特定のフルテキスト キーに対応する DocId をベース テーブルから切り離す場合に役立ちます。 |
次のいずれかの条件に該当する場合は、エラーが返されます。
- 無効な table_idを指定しました
- テーブルにフルテキスト インデックスが作成されていない
NULL
は、null 以外のパラメーターに対して検出されます。
例
Note
このセクションの例では、 Production.ProductReview
AdventureWorks2022 サンプル データベースの表を使用します。 このインデックスを作成するには、CREATE FULLTEXT INDEX (Transact-SQL) のテーブルに対ProductReview
して提供されている例を実行します。
A. すべての Key 値と DocId 値を取得する
次の例では、DECLARE ステートメントを使用してローカル変数を作成し、@table_id
その値としてテーブルの ProductReview
ID を割り当てます。 この例では、table_id パラメーターの指定@table_id
を実行sp_fulltext_keymappings
します。
Note
table_id パラメーターのみを使用sp_fulltext_keymappings
することは、小さなテーブルに適しています。
USE AdventureWorks2022;
GO
DECLARE @table_id int = OBJECT_ID(N'Production.ProductReview');
EXEC sp_fulltext_keymappings @table_id;
GO
この例では、次のように、テーブルからすべての DocId とフルテキスト キーを返します。
TABLE | docId | キー |
---|---|---|
1 |
1 |
1 |
2 |
2 |
2 |
3 |
3 |
3 |
4 |
4 |
4 |
B. 特定のキー値の DocId 値を取得する
次の例では、DECLARE ステートメントを使用してローカル変数 @table_id
を作成し、 ProductReview
テーブルの ID をその値として割り当てます。 この例では、table_id パラメーター、docId パラメーターに NULL、キー パラメーターに 4 を指定@table_id
して実行sp_fulltext_keymappings
します。
Note
小さなテーブルに適したtable_idパラメーターのみを使用sp_fulltext_keymappings
します。
USE AdventureWorks2022;
GO
DECLARE @table_id int = OBJECT_ID(N'Production.ProductReview');
EXEC sp_fulltext_keymappings @table_id, NULL, 4;
GO
この例では、次の結果が返されます。
TABLE | docId | キー |
---|---|---|
4 |
4 |
4 |
関連するコンテンツ
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示