SQL 服务器全文搜索空目录

SQL Server Full-Text search Empty catalog

我正在尝试在 Azure SQL 服务器上进行全文搜索 运行。

我的数据在 varbinary(max) 中,所有列都包含数据。数据是html的字符串。

SearchableData 列的计算和填充使用:

CONVERT(VARBINARY(MAX),[Title] + [Body])

执行 select 并转换回产生数据。

我想使用 SQL 服务器的内置 html 过滤器。

如果我执行以下操作,我可以搜索并且一切正常,但是,没有过滤器:

CREATE FULLTEXT INDEX 
    ON ArticleContent (Body LANGUAGE 0, Title LANGUAGE 0) 
       KEY INDEX PK_ArticleContent ON AcademyFTS 
       WITH (STOPLIST = SYSTEM, CHANGE_TRACKING AUTO)

但是,我希望能够使用 .html 过滤。

我创建了以下内容:

CREATE FULLTEXT CATALOG AcademyFTS WITH ACCENT_SENSITIVITY = OFF AS DEFAULT

CREATE FULLTEXT INDEX 
    ON ArticleContent (SearchableData TYPE COLUMN FileExtension LANGUAGE 0) 
       KEY INDEX PK_ArticleContent ON AcademyFTS 
       WITH (STOPLIST = SYSTEM, CHANGE_TRACKING AUTO)

然而目录是空的,我没有从简单的搜索中得到任何结果

SELECT * 
FROM ArticleContent 
WHERE FREETEXT(SearchableData, 'wiki') 

我一直在使用这两个指南:

Hands on Full-Text Search in SQL Server

How to implement a full-text search on HTML documents with Microsoft SQL Server

我找到答案了!

您不能在计算列上进行全文搜索! :)

Microsoft Docs