적용 대상:SQL Server
Azure SQL Database
Azure SQL Managed Instance
전체 텍스트 인덱스가 과도해지는 것을 방지하기 위해, SQL Server 데이터베이스 엔진에는 검색에 도움이 되지 않는 흔히 발생하는 문자열을 버리는 메커니즘이 있습니다. 이러한 삭제된 문자열을 중지 단어라고 합니다. 인덱스를 만드는 동안 전체 텍스트 엔진은 전체 텍스트 인덱스에서 중지 단어를 생략합니다. 즉, 전체 텍스트 쿼리는 정지어를 검색하지 않습니다.
| 기간 | Description |
|---|---|
| 스톱워드 | 중지 단어는 특정 언어에서 의미가 있는 단어일 수도 있습니다. 예를 들어, 영어에서는 , aand와 is 같은 the단어들이 검색에 쓸모가 없기 때문에 전체 텍스트 색인에서 제외됩니다. 스톱워드는 언어적 의미가 없는 토큰 일 수도 있습니다. |
| 중지 목록. | 스톱워드는 스톱리스트라는 객체를 사용하여 데이터베이스에서 관리됩니다. 중지 목록은 전체 텍스트 인덱스와 연결된 경우 해당 인덱스의 전체 텍스트 쿼리에 적용되는 중지 단어 목록입니다. |
기존 중지 목록 사용
다음과 같은 방법으로 기존 중지 목록을 사용할 수 있습니다.
데이터베이스에서 시스템 제공 중지 목록을 사용합니다. 데이터베이스 엔진에는 기본적으로 시스템 중지 목록이 포함되어 있으며, 이 목록에는 지원되는 각 언어, 즉 기본적으로 지정된 단어 분리기와 연결된 모든 언어에 대해 가장 일반적으로 사용되는 중지 단어가 들어 있습니다. 중지 단어를 추가하고 제거하여 시스템 중지 목록을 복사하고 복사본을 사용자 지정할 수 있습니다.
시스템 스톱리스트는 리소스 데이터베이스에 설치되어 있습니다.
현재 서버 인스턴스의 다른 데이터베이스에서 기존 커스텀 스톱리스트를 사용한 후, 필요에 따라 스톱워드를 추가하거나 삭제하세요.
새 중지 목록 만들기
Transact-SQL(T-SQL)나 SQL Server Management Studio(SSMS)를 사용해 스톱리스트를 만들 수 있습니다.
Transact-SQL을 사용하여 새 중지 목록 만들기
CREATE FULLTEXT STOPLIST을 사용합니다.
SQL Server Management Studio로 새로운 스톱리스트 생성하기
개체 탐색기에서 서버를 확장합니다.
데이터베이스를 확장한 후 전체 텍스트 중지 목록을 만들려는 데이터베이스를 확장합니다.
스토리지를 확장한 다음 전체 텍스트 중지 목록을 마우스 오른쪽 단추로 클릭합니다.
새 전체 텍스트 중지 목록을 선택합니다.
새 중지 목록의 이름을 입력합니다.
필요에 따라 다른 사용자를 중지 목록 소유자로 지정합니다.
다음 중지 목록 만들기 옵션 중 하나를 선택합니다.
빈 중지 목록 만들기
시스템 중지 목록에서 만들기
기존 전체 텍스트 중지 목록에서 만들기
자세한 정보는 새 전체 텍스트 중지 목록(일반 페이지)을 참조하세요.
확인을 선택합니다.
전체 텍스트 쿼리에서 중지 목록 사용
쿼리에서 중지 목록을 사용하려면 해당 중지 목록을 전체 텍스트 인덱스와 연결해야 합니다. 인덱스 만들 때 전체 텍스트 인덱스로 중지 목록을 연결하거나 나중에 인덱스 변경하여 중지 목록을 추가할 수 있습니다.
| 과업 | Method |
|---|---|
| 전체 텍스트 색인을 만들고 이를 스톱리스트와 연관 짓세요 | CREATE FULLTEXT INDEX을 사용합니다. |
| 기존 전체 텍스트 인덱스와 중지 목록 연결 또는 연결 해제 | ALTER FULLTEXT INDEX을 사용합니다. |
중지 목록에서 중지 단어 변경
스톱리스트의 스톱워드는 Transact-SQL(T-SQL) 또는 SQL Server Management Studio(SSMS)를 사용해 수정할 수 있습니다.
Transact-SQL을 사용하여 중지 목록에서 중지 단어 추가 또는 삭제
ALTER FULLTEXT STOPLIST을 사용합니다.
SQL Server Management Studio에서 스톱리스트에서 스톱워드를 추가하거나 삭제하기
개체 탐색기에서 서버를 확장합니다.
데이터베이스를 펼치고, 특정 데이터베이스를 확장합니다.
스토리지를 펼친 다음 전체 텍스트 중지 목록을 선택합니다.
변경할 속성이 있는 중지 목록을 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다.
전체 텍스트 중지 목록 속성 대화 상자에서 다음을 수행합니다.
작업 목록 상자에서 중지 단어 추가, 중지 단어 삭제, 모든 중지 단어 삭제 또는 중지 목록 지우기 작업 중 하나를 선택합니다.
선택한 작업에 대해 중지 단어 텍스트 상자가 사용하도록 설정된 경우 단일 중지 단어를 입력합니다. 이 스톱워드는 반드시 독특해야 합니다. 선택한 언어의 스톱리스트에 이미 포함되어 있을 수는 없습니다.
선택한 작업에 대해 전체 텍스트 언어 목록 상자가 사용하도록 설정된 경우 언어를 선택합니다.
확인을 선택합니다.
중지 목록 및 해당 사용량 관리
다음 방법을 사용하여 스톱리스트를 확인하고 관리하세요.
| 과업 | Method |
|---|---|
| 중지 목록에서 중지 단어 모두 보기 | sys.fulltext_stopwords 사용하세요. |
| 현재 데이터베이스에서 모든 스톱리스트 정보를 얻으세요 | sys.fulltext_stoplists와 sys.fulltext_stopwords를 사용하세요. |
| 단어 분리기, 동의어 사전 및 중지 목록 조합의 토큰화 결과 보기 | sys.dm_fts_parser 사용하세요. |
| 중지 단어로 인해 전체 텍스트 쿼리에 대한 부울 연산이 실패할 경우 오류 메시지 표시 안 함 | 서버 구성: 노이즈 단어 변환을 사용하세요. |
스톱워드 위치에 대한 추가 정보
전체 텍스트 색인은 스톱워드 포함을 무시하지만, 그 위치는 고려합니다. 예를 들어, Instructions are applicable to these Adventure Works Cycles models라는 문구를 생각해 보세요. 다음 표에서는 이 구에서의 단어 위치를 설명합니다.
| 단어 | 위치 |
|---|---|
Instructions |
1 |
are |
2 |
applicable |
3 |
to |
4 |
these |
5 |
Adventure |
6 |
Works |
7 |
Cycles |
8 |
models |
9 |
2, 4, 5 위치에 있는 스톱워 are드 , to, these 는 전체 텍스트 색인에서 제외됩니다. 그러나 위치 정보가 유지되므로 구에 있는 다른 단어의 위치는 영향을 받지 않습니다.
SQL Server 2005에서 노이즈 단어 업그레이드
SQL Server 2005 (9.x)에서는 노이즈 워드가 스톱워드로 대체됩니다. 데이터베이스가 SQL Server 2005(9.x)에서 업그레이드되면 노이즈 단어 파일이 더 이상 사용되지 않습니다. 하지만 노이즈워드 파일은 폴더에 FTDATA\FTNoiseThesaurusBak 저장되어 있으며, 해당 스톱리스트를 업데이트하거나 구축할 때 나중에 사용할 수 있습니다. 의미 없는 단어 파일을 중지 목록으로 업그레이드하는 방법에 대한 자세한 정보는 전체 텍스트 검색 업그레이드를 참조하세요.