1

我正在尝试在 Azure 的 SQL Server 上运行全文搜索。

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

SearchableData列的计算和填充使用:

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

进行选择和转换会产生数据。

我想利用 SQL Server 的内置 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') 

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

动手在 SQL Server 中进行全文搜索

如何使用 Microsoft SQL Server 在 HTML 文档上实现全文搜索

4

1 回答 1

2

我找到了答案!

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

微软文档

于 2018-12-19T09:43:37.660 回答