2009-04-22 133 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步時,沒有任何反應。我確定HTML文檔中存在'beleid'這個詞。查詢的結果是0條記錄。那麼我做錯了什麼?我是否需要配置該字段是Html?如此,我該怎麼做?

回答

1

一個類似的查詢處理我的數據庫,所以我會看看設置。這裏有一些你可以嘗試的東西:

無論如何,該索引似乎並沒有對你有任何好處,所以我會放棄它並嘗試重新創建它。我只對2005年很熟悉,但你使用的語法看起來不像我所擁有的。你可以嘗試(在適當的下降後)

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 

我假設WordHtml是你想索引列的名稱。如果是這樣的話,那麼這匹配我在2005年所做的。

接下來,您可以嘗試顯式填充全文索引。這可能不是必需的,但我總是在創建全文索引後執行此操作。

ALTER FULLTEXT INDEX ON docs 
START FULL POPULATION; 

GO