다음을 통해 공유


전체 텍스트 검색에 사용할 중지 단어와 중지 목록 구성 및 관리

적용 대상: SQL Server Azure SQL 데이터베이스

전체 텍스트 인덱스가 블로트되지 않도록 SQL Server에는 검색에 도움이 되지 않는 일반적으로 발생하는 문자열을 삭제하는 메커니즘이 있습니다. 이러한 삭제된 문자열을 중지 단어라고 합니다. 인덱스를 만드는 동안 전체 텍스트 엔진은 전체 텍스트 인덱스에서 중지 단어를 생략합니다. 즉, 전체 텍스트 쿼리는 중지 단어를 검색하지 않습니다.

중지 단어 중지 단어는 특정 언어에서 의미가 있는 단어일 수도 있습니다. 예를 들어 영어의 경우 "a", "and", "is" 및 "the"와 같은 단어는 검색에 도움이 되지 않으므로 전체 텍스트 인덱스에서 제외됩니다. 중지 단어는 언어적 의미가 없는 토큰일 수도 있습니다.

중지 목록. 중지 단어는 데이터베이스에서 중지 목록이라는 개체를 사용하여 관리됩니다. 중지 목록은 전체 텍스트 인덱스와 연결된 경우 해당 인덱스의 전체 텍스트 쿼리에 적용되는 중지 단어 목록입니다.

기존 중지 목록 사용

다음과 같은 방법으로 기존 중지 목록을 사용할 수 있습니다.

  • 데이터베이스에서 시스템 제공 중지 목록을 사용합니다. SQL Server는 기본적으로 지정된 단어 분리기와 연결된 모든 언어에 대해 지원되는 각 언어에 대해 가장 일반적으로 사용되는 중지 단어를 포함하는 시스템 중지 목록과 함께 제공됩니다. 중지 단어를 추가하고 제거하여 시스템 중지 목록을 복사하고 복사본을 사용자 지정할 수 있습니다.

    시스템 중지 목록이 리소스 데이터베이스에 설치됩니다.

  • 현재 서버 인스턴스의 다른 데이터베이스에서 기존 사용자 지정 중지 목록을 사용한 다음 중지 단어를 적절하게 추가하거나 삭제합니다.

새 중지 목록 만들기

Transact-SQL을 사용하여 새 중지 목록 만들기

CREATE FULLTEXT STOPLIST를 사용합니다.

Management Studio를 사용하여 새 중지 목록 만들기

  1. 개체 탐색기에서 서버를 확장합니다.

  2. 데이터베이스를 확장한 후 전체 텍스트 중지 목록을 만들려는 데이터베이스를 확장합니다.

  3. 스토리지를 확장한 다음 전체 텍스트 중지 목록을 마우스 오른쪽 단추로 클릭합니다.

  4. 새 전체 텍스트 중지 목록을 선택합니다.

  5. 새 중지 목록의 이름을 입력합니다.

  6. 필요에 따라 다른 사용자를 중지 목록 소유자로 지정합니다.

  7. 다음 중지 목록 만들기 옵션 중 하나를 선택합니다.

    • 빈 중지 목록 만들기

    • 시스템 중지 목록에서 만들기

    • 기존 전체 텍스트 중지 목록에서 만들기

    자세한 정보는 새 전체 텍스트 중지 목록(일반 페이지)을 참조하세요.

  8. 확인을 선택합니다.

전체 텍스트 쿼리에서 중지 목록 사용

쿼리에서 중지 목록을 사용하려면 해당 중지 목록을 전체 텍스트 인덱스와 연결해야 합니다. 인덱스 만들 때 전체 텍스트 인덱스로 중지 목록을 연결하거나 나중에 인덱스 변경하여 중지 목록을 추가할 수 있습니다.

전체 텍스트 인덱스 만들기 및 중지 목록 연결

CREATE FULLTEXT INDEX(Transact-SQL)를 사용합니다.

기존 전체 텍스트 인덱스와 중지 목록 연결 또는 연결 해제

ALTER FULLTEXTINDEX(Transact-SQL)를 사용합니다.

중지 목록에서 중지 단어 변경

Transact-SQL을 사용하여 중지 목록에서 중지 단어 추가 또는 삭제

ALTER FULLTEXT STOPLIST(Transact-SQL)를 사용합니다.

Management Studio를 사용하여 중지 목록에서 중지 단어 추가 또는 삭제

  1. 개체 탐색기에서 서버를 확장합니다.

  2. 데이터베이스를 펼치고 데이터베이스를 펼칩니다.

  3. 스토리지를 펼친 다음 전체 텍스트 중지 목록을 선택합니다.

  4. 변경할 속성이 있는 중지 목록을 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다.

  5. 전체 텍스트 중지 목록 속성 대화 상자에서 다음을 수행합니다.

    1. 작업 목록 상자에서 중지 단어 추가, 중지 단어 삭제, 모든 중지 단어 삭제 또는 중지 목록 지우기 작업 중 하나를 선택합니다.

    2. 선택한 작업에 대해 중지 단어 텍스트 상자가 사용하도록 설정된 경우 단일 중지 단어를 입력합니다. 이 중지 단어는 고유해야 합니다. 즉, 선택한 언어에 대한 이 중지 목록에는 없습니다.

    3. 선택한 작업에 대해 전체 텍스트 언어 목록 상자가 사용하도록 설정된 경우 언어를 선택합니다.

  6. 확인을 선택합니다.

중지 목록 및 해당 사용량 관리

중지 목록에서 중지 단어 모두 보기

sys.fulltext_stopwords(Transact-SQL)를 사용합니다.

현재 데이터베이스의 모든 중지 목록에 대한 정보 가져오기

sys.fulltext_stoplists(Transact-SQL)sys.fulltext_stopwords(Transact-SQL)를 사용합니다.

단어 분리기, 동의어 사전 및 중지 목록 조합의 토큰화 결과 보기

sys.dm_fts_parser (Transact-SQL)를 사용합니다.

중지 단어로 인해 전체 텍스트 쿼리에 대한 부울 연산이 실패할 경우 오류 메시지 표시 안 함

transform noise words 서버 구성 옵션을 사용합니다.

중지 단어 위치에 대한 자세한 정보

전체 텍스트 인덱스는 중지 단어의 포함을 무시하지만 위치를 고려합니다. 예를 들어 "지침은 이러한 Adventure Works Cycles 모델에 적용할 수 있습니다."라는 문구를 생각해 보세요. 다음 표에서는 이 구에서의 단어 위치를 설명합니다.

Word Position
지침 1
are 2
(해당하는 경우) 3
4
these 5
Adventure 6
Works 7
주기 8
models 9

위치 2, 4, 5에 있는 중지 단어 "are", "to", "these"는 전체 텍스트 인덱스에서 제외됩니다. 그러나 위치 정보가 유지되므로 구에 있는 다른 단어의 위치는 영향을 받지 않습니다.

SQL Server 2005에서 노이즈 단어 업그레이드

SQL Server 2005(9.x) 노이즈 단어가 중지 단어로 대체되었습니다. 데이터베이스가 SQL Server 2005(9.x)에서 업그레이드되면 노이즈 단어 파일이 더 이상 사용되지 않습니다. 그러나 의미 없는 단어 파일이 FTDATA\ FTNoiseThesaurusBak 폴더에 저장되므로 나중에 해당 중지 목록을 업데이트하거나 새로 작성할 때 사용할 수 있습니다. 의미 없는 단어 파일을 중지 목록으로 업그레이드하는 방법에 대한 자세한 정보는 전체 텍스트 검색 업그레이드를 참조하세요.