이 항목에서는 전체 텍스트 검색의 동작 변경에 대해 설명합니다. 동작 변경은 이전 버전의 SQL Server와 비교하여 SQL Server 2014에서 기능이 작동하거나 상호 작용하는 방식에 영향을 미칩니다.
SQL Server 2014에서 Full-Text Search의 동작 변경 내용
나중에 표시할 정보입니다.
SQL Server 2012에서 Full-Text Search의 동작 변경 내용
SQL Server 2012는 미국 영어(LCID 1033) 및 영국 영어(LCID 2057)용 단어 분리기 및 형태소 분석기의 새 버전을 설치합니다. 그러나 이전 동작을 유지하려는 경우 이러한 구성 요소의 이전 버전으로 전환할 수 있습니다. 자세한 내용은 미국 영어 및 영국 영어에 사용되는 단어 분리기 변경을 참조하세요.
새 단어 분리기 및 어간 분석기가 설치되었습니다.
SQL Server 2012는 Full-Text Search 및 의미 체계 검색에서 사용하는 모든 단어 분리기 및 형태소 분석기를 업데이트합니다. 인덱스의 내용과 쿼리 결과 간의 일관성을 위해 기존 전체 텍스트 인덱스를 다시 입력하는 것이 좋습니다.
영어에 대한 새로운 단어 분리기가 있습니다. 이전 동작을 유지해야 하는 경우 미국 영어 및 영국 영어에 사용되는 단어 분리기 변경을 참조하세요.
SQL Server의 이전 릴리스에 포함된 덴마크어, 폴란드어 및 튀르키예어에 대한 타사 단어 분리기는 Microsoft 구성 요소로 대체되었습니다. 새 구성 요소는 기본적으로 사용하도록 설정됩니다.
체코어와 그리스어에 대한 새로운 단어 분리기가 있습니다. SQL Server 전체 텍스트 검색의 이전 릴리스에는 이러한 두 언어에 대한 지원이 포함되지 않았습니다.
새 단어 분리기 및 형태소 분석기의 동작 변경
전체 텍스트 인덱스를 채우고 쿼리할 때 새 구성 요소는 이전 구성 요소와 다른 결과를 반환할 수 있습니다. 다음 표에서는 영어 결과에서 예상할 수 있는 몇 가지 차이점을 보여 줍니다.
단어 분리기 및 형태소 분석기의 이전 동작을 유지해야 하는 경우 다음 항목을 참조하세요.
경우에 따라 새 구성 요소는 더 많은 결과를 반환합니다.
| 기간 | 이전 단어 분리기 및 형태소 분석기로 얻은 결과 | 새로운 단어 분리기와 형태소 분석기로 얻은 결과 |
|---|---|---|
| 고양이-개 | 고양이 강아지 |
고양이 캣독 강아지 |
| cat@dog.com | 고양이 com 강아지 |
고양이 cat@dog.com com 강아지 |
| 12/11/2011 (용어가 날짜인 경우) |
12/11/2011 dd20111211 |
11 12 12/11/2011 2011 dd20111211 |
경우에 따라 새 구성 요소는 비슷한 결과를 반환합니다.
| 기간 | 이전 단어 분리기와 형태소 분석기의 결과 | 새 단어 분리기 및 형태소 분석기를 사용한 결과 |
|---|---|---|
| 100$ | 100$ nn100$ |
100$ nn100달러 |
| 022 | 022 nn022 |
022 nn22 |
| 오전 10:49 (용어가 시간인 경우) |
오전 10:49 tt1049 |
오전 10:49 tt24104900 |
경우에 따라 새 구성 요소는 애플리케이션에서 예기치 않은 결과를 더 적게 반환합니다.
| 기간 | 이전 단어 분리기 및 형태소 분석기를 사용하여 결과 | 새 단어 분리기 및 형태소 분석기로 얻은 결과 |
|---|---|---|
| jäqCžl (용어가 유효한 영어 문자가 아닌 경우) |
'jäqCžl' | je yq zl |
| 테이블의 | 테이블의 테이블 |
테이블의 |
| 고양이- | 고양이 고양이- |
고양이 |
| v-z*(여기서 v 및 z는 노이즈 단어)* | (결과 없음) | v-z |
| $100 000 USD | $100 000 nn000 nn100달러 미국 달러 |
$100 000 usd nn10만 달러 |
| 아름다운 미국 땅 | 아름답다 땅 미국 우리 |
아름답다 땅 |
| 산 켄트와 산 챌린저 | 도전자 켄트 마운트 마운트. |
마운트 켄트 도전자 |
SQL Server 2008에서 Full-Text Search의 동작 변경 내용
SQL Server 2008 이상 버전에서 Full-Text 엔진은 서버 쿼리 및 스토리지 엔진 인프라의 일부로 관계형 데이터베이스에 데이터베이스 서비스로 통합됩니다. 새로운 전체 텍스트 검색 아키텍처는 다음 목표를 달성합니다.
이제 통합 스토리지 및 관리-전체 텍스트 검색이 SQL Server의 내재된 스토리지 및 관리 기능과 직접 통합되고 MSFTESQL 서비스가 더 이상 존재하지 않습니다.
전체 텍스트 인덱스는 파일 시스템이 아닌 데이터베이스 파일 그룹 내에 저장됩니다. 백업 만들기와 같은 데이터베이스에 대한 관리 작업은 전체 텍스트 인덱스에 자동으로 영향을 줍니다.
이제 전체 텍스트 카탈로그는 파일 그룹에 속하지 않는 가상 개체입니다. 전체 텍스트 인덱스 그룹을 참조하는 논리적 개념입니다. 따라서 많은 카탈로그 관리 기능이 더 이상 사용되지 않으며 사용 중단으로 인해 일부 기능에 대한 호환성이 손상되는 변경이 발생했습니다. 자세한 내용은 SQL Server 2014에서 사용되지 않는 데이터베이스 엔진 기능 및 Full-Text Search의 주요 변경 내용을 참조하세요.
비고
SQL Server 2005 Transact-SQL 전체 텍스트 카탈로그를 지정하는 DDL 문이 올바르게 작동합니다.
통합 쿼리 처리 - 새 전체 텍스트 검색 쿼리 프로세서는 데이터베이스 엔진의 일부이며 SQL Server 쿼리 프로세서와 완전히 통합됩니다. 즉, 쿼리 최적화 프로그램은 전체 텍스트 쿼리 조건자를 인식하고 가능한 한 효율적으로 자동으로 실행합니다.
향상된 관리 및 문제 해결 통합 전체 텍스트 검색은 전체 텍스트 인덱스, 지정된 단어 분리기의 출력, 중지 단어 구성 등과 같은 검색 구조를 분석하는 데 도움이 되는 도구를 제공합니다.
중지 단어 및 중지 목록은 노이즈 단어와 노이즈 단어 파일을 대체했습니다. 중지 목록은 중지 단어에 대한 관리 효율성 작업을 용이하게 하고 서로 다른 서버 인스턴스와 환경 간의 무결성을 향상시키는 데이터베이스 개체입니다. 자세한 내용은 전체 텍스트 검색에 사용할 중지 단어와 중지 목록 구성 및 관리를 참조하세요.
SQL Server 2008 이상 버전에는 SQL Server 2005에 있는 많은 언어에 대한 새 단어 분리기가 포함되어 있습니다. 영어, 한국어, 태국어 및 중국어(모든 형식)의 단어 분리기만 동일하게 유지됩니다. 다른 언어의 경우 SQL Server 2005 데이터베이스를 SQL Server 2008 이상 버전으로 업그레이드할 때 전체 텍스트 카탈로그를 가져온 경우 전체 텍스트 카탈로그의 전체 텍스트 인덱스에서 사용되는 하나 이상의 언어가 가져온 단어 분리기와 약간 다르게 동작할 수 있는 새 단어 분리기와 연결될 수 있습니다. 쿼리와 전체 텍스트 인덱스 콘텐츠 간의 일관성을 보장하는 방법에 대한 자세한 내용은 업그레이드 Full-Text Search를 참조하세요.
새 FDHOST 시작 관리자(MSSQLFDLauncher) 서비스가 추가되었습니다. 자세한 내용은 Full-Text 검색 시작을 참조하세요.
전체 텍스트 인덱싱은
varbinary(max)열과 동일한 방식으로 FILESTREAM 열에서 작동합니다. FILESTREAM 테이블에는 각 FILESTREAM BLOB에 대한 파일 이름 확장명이 포함된 열이 있어야 합니다. 자세한 내용은 Full-Text 검색을 통한 쿼리, 검색 필터 구성 및 관리, 및 sys.fulltext_document_types(Transact-SQL)를 참조하세요.전체 텍스트 엔진은 FILESTREAM BLOB의 내용을 인덱싱합니다. 이미지와 같은 파일을 인덱싱하는 것은 유용하지 않을 수 있습니다. FILESTREAM BLOB이 업데이트되면 다시 인덱싱됩니다.