我正在尝试在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')
我一直在使用这两个指南:
Hands on Full-Text Search in SQL Server
How to implement a full-text search on HTML documents with Microsoft SQL Server