sp_fulltext_keymappings(Transact-SQL)

적용 대상:SQL ServerAzure SQL Managed InstanceAnalytics Platform System(PDW)

문서 식별자(DocIds)와 전체 텍스트 키 값 간의 매핑을 반환합니다. DocId 열에는 전체 텍스트 인덱싱된 테이블의 특정 전체 텍스트 키 값에 매핑되는 bigint 정수에 대한 값이 포함됩니다. 검색 조건을 충족하는 DocId 값은 전체 텍스트 엔진에서 데이터베이스 엔진 전달되며, 여기서 쿼리되는 기본 테이블의 전체 텍스트 키 값에 매핑됩니다. 전체 텍스트 키 열은 테이블의 한 열에 필요한 고유 인덱스입니다.

Transact-SQL 구문 표기 규칙

구문

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 키의 데이터 형식은 기본 테이블에 있는 전체 텍스트 키 열의 데이터 형식과 동일합니다.

사용 권한

이 함수는 공용이며 특별한 권한이 필요하지 않습니다.

설명

다음 표에서는 한 개, 두 개 또는 세 개의 매개 변수를 사용한 결과에 대해 설명합니다.

이 매개 변수 목록... 이 결과가 있습니다...
table_id table_id 매개 변수 sp_fulltext_keymappings사용하여 호출되는 경우 지정된 기본 테이블의 모든 전체 텍스트 키(키) 값과 각 키에 해당하는 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_iddocId지정된 경우 docId는 NULL이 아니어야 하며 지정된 테이블에 유효한 DocId를 지정해야 합니다. 이 함수는 특정 전체 텍스트 인덱스의 DocId에 해당하는 기본 테이블에서 사용자 지정 전체 텍스트 키를 격리하는 데 유용합니다.
table_id, NULL, 세 개의 매개 변수가 있는 경우 두 번째 매개 변수는 NULL이어야 하며 는 NULL이 아니어야 하며 지정된 테이블에서 유효한 전체 텍스트 키 값을 지정해야 합니다. 이 함수는 기본 테이블에서 특정 전체 텍스트 키에 해당하는 DocId를 격리하는 데 유용합니다.

다음과 같은 경우 오류가 반환됩니다.

  • 잘못된 table_id 지정합니다.
  • 테이블이 전체 텍스트 인덱싱되지 않음
  • NULL 이 null이 아닌 매개 변수에 대해 발견되었습니다.

예제

참고 항목

이 섹션의 예제에서는 AdventureWorks2022 샘플 데이터베이스의 표를 사용합니다 Production.ProductReview . CREATE FULLTEXT INDEX(Transact-SQL)에서 테이블에 제공된 예제를 ProductReview 실행하여 이 인덱을 만들 수 있습니다.

A. 모든 키 및 DocId 값 가져오기

다음 예제에서는 DECLARE 문을 사용하여 지역 변수 @table_id 를 만들고 테이블의 ID를 ProductReview 해당 값으로 할당합니다. 이 예제에서는 table_id 매개 변수에 대한 지정을 @table_id 실행합니다sp_fulltext_keymappings.

참고 항목

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 key
1 1 1
2 2 2
3 3 3
4 4 4

B. 특정 키 값에 대한 DocId 값 가져오기

다음 예제에서는 DECLARE 문을 사용하여 지역 변수 @table_id를 만들고 테이블의 ID를 ProductReview 해당 값으로 할당합니다. 이 예제에서는 table_id 매개 변수, docId 매개 변수의 경우 NULL, 키 매개 변수에 대해 4를 지정하여 @table_id 실행 sp_fulltext_keymappings 합니다.

참고 항목

작은 테이블에 적합한 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 key
4 4 4