我在SQL Server 2008 express中设置了全文搜索功能。这就是我所做的:
-- 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')
表docs有一行字段WordHtml具有(html)内容。当我执行第3步时,没有任何反应。我确信html文档中存在“beleid”一词。查询结果为0条记录。那么我做错了什么?我在哪里必须配置此字段是Html?所以,我该怎么做?
答案 0 :(得分: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