2009-04-22 8 views
0

SQL Server 2008 Express에서 전체 텍스트 검색 기능을 설정했습니다. 이것은 내가 한 일입니다 :SQL 전체 텍스트 검색

-- STEP 1: Create catalog 
create fulltext catalog HtmlSearch 

-- STEP 2: Fill catalog 
create fulltext index on docs 
(WordHtml) 
key index IX_docs_1 
on HtmlSearch 
with change_tracking auto 

-- STEP 3: Search 
select * from docs 
where freetext(*, 'beleid') 

테이블 워드 프로세서에는 WordHtml 필드에 (html) 내용이있는 행이 하나 있습니다. 3 단계를 실행하면 아무 일도 일어나지 않습니다. 'beleid'라는 용어가 html 문서에 존재한다고 확신합니다. 쿼리의 결과는 0 레코드입니다. 그래서 내가 뭘 잘못하고 있니? 이 필드가 Html인지 어딘가에 구성해야합니까? 그리고 그렇게 함으로 어떻게해야합니까?

답변

1

비슷한 쿼리가 내가 가지고있는 데이터베이스에서 작동하므로 설치를 살펴 보겠습니다. 다음은 시도 할 수있는 몇 가지 사항입니다.

색인은 지금 어떤 좋은 일을하는 것처럼 보이지 않으므로 삭제하고 다시 작성해보십시오. 저는 2005 년에 대해서만 잘 알고 있습니다 만, 사용한 구문은 내가 가지고있는 것과 같지 않습니다. 당신은 내가 WordHtml 당신이 인덱스 열의 이름입니다 가정

CREATE FULLTEXT Catalog HtmlSearch AS DEFAULT; 

GO 

CREATE FULLTEXT INDEX ON docs 
(WordHtml Language English) 
KEY INDEX IX_docs_1 
WITH CHANGE_TRACKING auto; 

GO 

(적절한 방울 후) 시도 할 수 있습니다. 그렇다면 2005 년의 결과와 일치합니다.

다음으로 전체 텍스트 색인을 명시 적으로 채울 수 있습니다. 이것은 필요하지 않을 수도 있지만 전 텍스트 색인을 만든 후에는 항상 그렇게합니다.

ALTER FULLTEXT INDEX ON docs 
START FULL POPULATION; 

GO