sp_fulltext_keymappings (Transact-SQL)sp_fulltext_keymappings (Transact-SQL)

適用対象:Applies to: ○ SQL ServerSQL Server (サポートされているすべてのバージョン)yesSQL ServerSQL Server (all supported versions) はいAzure SQL Managed InstanceAzure SQL Managed InstanceYesAzure SQL Managed InstanceAzure SQL Managed Instance うんParallel Data WarehouseParallel Data WarehouseyesParallel Data WarehouseParallel Data Warehouse適用対象:Applies to: ○ SQL ServerSQL Server (サポートされているすべてのバージョン)yesSQL ServerSQL Server (all supported versions) はいAzure SQL Managed InstanceAzure SQL Managed InstanceYesAzure SQL Managed InstanceAzure SQL Managed Instance うんParallel Data WarehouseParallel Data WarehouseyesParallel Data WarehouseParallel Data Warehouse

ドキュメント識別子 (DocIds) とフルテキストキー値の間のマッピングを返します。Returns mappings between document identifiers (DocIds) and full-text key values. DocId 列には、フルテキストインデックスが作成されたテーブルの特定のフルテキストキー値にマップされるbigint整数の値が格納されます。The DocId column contains values for a bigint integer that maps to a particular full-text key value in a full-text indexed table. 検索条件に一致する DocId 値は、Full-Text Engine からデータベース エンジンに渡され、そこでクエリ対象のベース テーブルのフルテキスト キー値にマップされます。DocId values that satisfy a search condition are passed from the Full-Text Engine to the Database Engine, where they are mapped to full-text key values from the base table being queried. フルテキストキー列は、テーブルの1つの列に必要な一意のインデックスです。The full-text key column is a unique index that is required on one column of the table.

トピック リンク アイコン Transact-SQL 構文表記規則Topic link icon Transact-SQL Syntax Conventions

構文Syntax

  
sp_fulltext_keymappings { table_id | table_id, docid | table_id, NULL, key }  

パラメーターParameters

table_idtable_id
フルテキスト インデックスが設定されたテーブルのオブジェクト ID。Is the object ID of the full-text indexed table. 無効なtable_idを指定すると、エラーが返されます。If you specify an invalid table_id, an error is returned. テーブルのオブジェクト ID を取得する方法の詳細については、「 OBJECT_ID (transact-sql)」を参照してください。For information about obtaining the object ID of a table, see OBJECT_ID (Transact-SQL).

dociddocid
キー値に対応する内部ドキュメント識別子 (DocId)。Is an internal document identifier (DocId) that corresponds to the key value. docid 値が無効な場合、結果は返されません。An invalid docid value returns no results.

keykey
指定したテーブルからのフルテキスト キー値。Is the full-text key value from the specified table. key 値が無効な場合、結果は返されません。An invalid key value returns no results. フルテキストキー値の詳細については、「フルテキストインデックスの管理」を参照してください。For information about full-text key values, see Manage Full-Text Indexes.

重要

1 つ、2 つ、または 3 つのパラメーターを使用する方法の詳細については、後の「解説」を参照してください。For information about using one, two, or three parameters, see "Remarks," later in this topic.

リターン コードの値Return Code Values

[なし] :None.

結果セットResult Sets

列名Column name データ型Data type 説明Description
DocIdDocId bigintbigint キー値に対応する内部ドキュメント識別子 (DocId) 列。Is an internal document identifier (DocId) column that corresponds to the key value.
KeyKey * 指定したテーブルからのフルテキスト キー値。Is the full-text key value from the specified table.

マッピング テーブルにフルテキスト キーが存在しない場合は、空の行セットが返されます。If no full-text keys exist in the mapping table, an empty rowset is returned.

*キーのデータ型は、ベーステーブルのフルテキストキー列のデータ型と同じです。* The data type for Key is same as the data type of the full-text key column in the base table.

アクセス許可Permissions

この関数はパブリックであり、特別な権限は必要ありません。This function is public and does not require any special permissions.

注釈Remarks

次の表に、1 つ、2 つ、または 3 つのパラメーターを使用した場合の効果を示します。The following table describes the effect of using one, two, or three parameters.

このパラメーターリスト...This parameter list... 次の結果がある...Has this result...
table_idtable_id Table_idパラメーターのみで呼び出された場合、sp_fulltext_keymappings は、指定されたベーステーブルからすべてのフルテキストキー (キー) 値と、各キーに対応する DocId を返します。When invoked with only the table_id parameter, sp_fulltext_keymappings returns all full-text key (Key) values from the specified base table, along with the DocId that corresponds to each key. これには削除保留中のキーが含まれます。This includes keys that are pending delete.

この機能は、さまざまな問題をトラブルシューティングする場合に便利です。This function is useful for troubleshooting a variety of issues. 特に、選択したフルテキスト キーが整数データ型でないときに、フルテキスト インデックス コンテンツを確認する場合に役立ちます。It is particularly useful for seeing the full-text index content when the selected full-text key is not of an integer data type. これには、sp_fulltext_keymappings の結果を、 dm_fts_index_keywords_by_documentの結果と結合する必要があります。This involves joining the results of sp_fulltext_keymappings with the results of sys.dm_fts_index_keywords_by_document. 詳細については、「 sys. dm_fts_index_keywords_by_document (transact-sql)」を参照してください。For more information, see sys.dm_fts_index_keywords_by_document (Transact-SQL).

ただし、通常は、可能であれば特定のフルテキスト キーまたは DocId を指定するパラメーターを指定して sp_fulltext_keymappings を実行することをお勧めします。In general, however, we recommend that, if possible, you execute sp_fulltext_keymappings with parameters that specify a specific full-text key or DocId. これは、キー マップ全体を返すよりもはるかに効率的です。特に、キー マップ全体を返すとパフォーマンスが大幅に低下する可能性がある、非常に大きなテーブルの場合に有効です。This is much more efficient than returning an entire key map, especially for a very large table for which the performance cost of returning the entire key map might be substantial.
table_iddocidtable_id, docid Table_iddocidのみが指定されている場合、 docidは null 以外で、指定されたテーブル内の有効な docid を指定する必要があります。If only the table_id and docid are specified, docid must be nonNULL and specify a valid DocId in the specified table. この機能は、カスタム フルテキスト キーを、特定のフルテキスト インデックスの DocId に対応するベース テーブルから切り離す場合に役立ちます。This function is useful to isolate the custom full-text key from the base table that corresponds to the DocId of a particular full-text index.
table_id、NULL、キーtable_id, NULL, key 3つのパラメーターが存在する場合は、2番目のパラメーターを NULL にする必要があります。また、キーを null にすることはできません。また、指定したテーブルから有効なフルテキストキー値を指定します。If three parameters are present, the second parameter must be NULL, and key must be nonNULL and specify a valid full-text key value from the specified table. この機能は、特定のフルテキスト キーに対応する DocId をベース テーブルから切り離す場合に役立ちます。This function is useful in isolating the DocId that corresponds to a particular full-text key from the base table.

次のいずれかの条件に該当する場合は、エラーが返されます。An error is returned under any of the following conditions:

  • 無効なtable_idを指定しています。You specify an invalid table_id.

  • テーブルにフルテキスト インデックスが設定されていない場合。The table is not full-text indexed.

  • NULL 以外の値が許可されるパラメーターについて NULL が検出された場合。NULL is encountered for a parameter that may be nonNULL

Examples

注意

このセクションの例では、 Production.ProductReview サンプル データベースの AdventureWorks2012AdventureWorks2012 テーブルを使用します。The examples in this section use the Production.ProductReview table of the AdventureWorks2012AdventureWorks2012 sample database. このインデックスを作成するには、「 ProductReview CREATE フルテキストインデックス (transact-sql)」の表に示されている例を実行します。You can create this index by executing the example provided for the ProductReview table in CREATE FULLTEXT INDEX (Transact-SQL).

A.A. すべてのキーと DocId 値を取得するObtaining all the Key and DocId values

次の例では、 DECLAREステートメントを使用してローカル変数を作成 @table_id し、テーブルの ID を ProductReview その値として割り当てます。The following example uses a DECLARE statement to create a local variable, @table_id and to assign the ID of the ProductReview table as its value. この例でsp_fulltext_keymappingsは、 @table_id table_idパラメーターにを指定して sp_fulltext_keymappings を実行します。The example executes sp_fulltext_keymappings specifying @table_id for the table_id parameter.

注意

Table_idパラメーターのみを指定してsp_fulltext_keymappingsを使用することは、小さなテーブルに適しています。Using sp_fulltext_keymappings with only the table_id parameter is suitable for small tables.

USE AdventureWorks2012;  
GO  
DECLARE @table_id int = OBJECT_ID(N'Production.ProductReview');  
EXEC sp_fulltext_keymappings @table_id;  
GO  
  

この例では、次のようにテーブルからすべての DocIds とフルテキストキーが返されます。This example returns all the DocIds and full-text keys from the table, as follows:

docid key
1 1 1
2 2 2
3 3 3
4 4 4

B.B. 特定のキー値の DocId 値を取得するObtaining the DocId value for a specific Key value

次の例では、DECLARE ステートメントを使用してローカル変数 @table_idを作成し、 ProductReview テーブルの ID をその値として割り当てます。The following example uses a DECLARE statement to create a local variable, @table_id, and to assign the ID of the ProductReview table as its value. この例でsp_fulltext_keymappingsは、 @table_id table_idパラメーターにを指定し、 docidパラメーターに NULL を指定し、キーパラメーターに4を指定して sp_fulltext_keymappings を実行します。The example executes sp_fulltext_keymappings specifying @table_id for the table_id parameter, NULL for the docid parameter, and 4 for the key parameter.

注意

小さなテーブルに適したtable_id指しだけでsp_fulltext_keymappingsを使用します。Using sp_fulltext_keymappings with only the table_id parameteris suitable for small tables.

USE AdventureWorks2012;  
GO  
DECLARE @table_id int = OBJECT_ID(N'Production.ProductReview');  
EXEC sp_fulltext_keymappings @table_id, NULL, 4;  
GO  
  

この例では、次の結果が返されます。This example returns the following results.

docid key
4 4 4

参照See Also

Transact-sql)(のフルテキスト検索およびセマンティック検索ストアドプロシージャFull-Text Search and Semantic Search Stored Procedures (Transact-SQL)