2013-05-30 7 views
3

모험 작품을 몇 개 선택했습니다.
(즉SQL 서버 전체 텍스트 검색 - 전체 텍스트 검색에서 동의어 사전 사용 예를 찾고

SELECT * 
FROM Production.Product 
WHERE FREETEXT(*, 'screw washer spaner'); 

) 나는 동의어 사전을 사용하여 동의어의 발견을 표시하는 선택을 발생 못하고있다.
이 기능을 사용하고 있는지 어떻게 알 수 있습니까?
사람은 동의어 사전의 맨 아래에 예를 들어 쿼리를 사용 할 수 있습니다 (Itzik 벤 웨이 코 뮤니시 (저자 쿼리 SQL 서버) 덕분에) 설치 스크립트를 동의어 사전 여기

답변

2

의 사용법을 설명하는 선택입니다 제공 할 수 있습니다 :

IF OBJECT_ID('dbo.Documents', 'table') IS NOT NULL 
    DROP TABLE dbo.Documents; 

CREATE TABLE dbo.Documents 
(
    id INT NOT NULL IDENTITY, 
    title NVARCHAR(100) NOT NULL, 
    doctype NCHAR(4) NOT NULL, 
    docexcerpt NVARCHAR(1000) NOT NULL, 
    doccontent VARBINARY(MAX) NOT NULL, 
    CONSTRAINT PK_Documents 
     PRIMARY KEY CLUSTERED(id) 
); 
GO 
INSERT INTO dbo.Documents 
(title, doctype, docexcerpt, doccontent) 
SELECT N'Introduction to Data Mining', 
N'docx', 
N'Using Data Mining is becoming more a necessity for every company 
    and not an advantage of some rare companies anymore. ', 
bulkcolumn; 
GO 

--edit 다시로드하려면 다음 편집 된 동의어 사전

--run

<expansion>  
    <sub>need</sub>  
    <sub>necessity</sub> 
</expansion> 

을 추가하여 동의어 사전 파일

EXEC sys.sp_fulltext_load_thesaurus_file 1033; 
GO 

그리고 별도의 배치에서 다음 명령을 실행합니다

SELECT * 
FROM dbo.Documents 
WHERE FREETEXT(doccontent, N'FORMSOF(THESAURUS, need)'); 
GO 

단어 "필요"동의어는 동의어 사전에로드 그러나 행이 경우 반환의 docexcerpt에 있지를 시소러스가 제대로로드되었습니다. 문제가 있다면 StackOverflow 기사와로드/구성 방법에 대한 BOL 항목이 많이 있습니다.

+0

동의어 사전 파일을 성공적으로로드하는 것과 관련하여 다른 질문이 있습니다. 질문에 답변이나 의견을 남기므로 도와 드리겠습니다. – Thronk