对 nvarchar(max) 列的 FREETEXT SQL 查询应用 HTML 过滤器

Apply HTML filter to FREETEXT SQL Query on nvarchar(max) column

所以我正在转换现有系统以支持自由文本搜索,但我遇到了一个小问题。列 CONTENT 是 nvarchar(max) 类型并存储 HTML,这意味着像

这样的情况
<p><b>f</b>oo</p>

将不起作用,因为 HTML 过滤器将不会应用。因此,我正在寻找一种解决方案,以在 FREETEXT 查询该列

期间手动强制 DB 在该列上使用 HTML 过滤器
SELECT [ID],[content]   
FROM [dbo].[Core_Note]
WHERE FREETEXT([content], 'banana phone noodle foo'); 

因此此查询将 return 除了上面列出的以外的所有匹配项。

当前输出将是:

<p><br></p><p>Banana!<br></p>
Banana Phone

虽然should/desired是

<p><br></p><p>Banana!<br></p>
Banana Phone
<p><b>f</b>oo</p>

最后,没有不会破坏 FreeTextSearch 目的的有用解决方法,所以带有 HTML 过滤器的 VARBINARY 就是答案。

详情: 解决方案是通过创建触发器来实现的,该触发器将以 Varbinary 形式将相关的自由文本数据传递给自由文本 Table 并应用相关的过滤器。