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