SQL全文搜索

问题描述:

我已经在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?如此,我该怎么做?

一个类似的查询处理我的数据库,所以我会看看设置。这里有一些你可以尝试的东西:

无论如何,该索引似乎并没有对你有任何好处,所以我会放弃它并尝试重新创建它。我只对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