您将需要 拆分字符串功能
然后,您将创建一个Temporary table
永久的。
就像在我的示例 StagingFreeText 中一样(根据要求定义数据类型)
create table StagingFreeText (col varchar(100) not null)
Full Text Index
然后创建StagingFreeText
在脚本开始时总是截断表
Truncate table StagingFreeText
然后将结果插入StagingFreeText
;with CTE as
(
SELECT *
FROM table
WHERE FREETEXT(column_name, 'search term')
)
insert into StagingFreeText(col)
SELECT value
FROM CTE
cross apply(select value from dbo.split_string(column_name,' '))ca
再次应用上述搜索条件
SELECT *
FROM StagingFreeText
WHERE FREETEXT(col, 'search term')
注意:我的脚本未经测试,但想法非常清楚。
或者,如果您不想在其上创建另一个自由文本索引,StagingFreeText
则可以拆分Search Term
#temp 表并StagingFreeText
与 #temp 表连接