我想我在这里错过了一些简单的事情......
例如,给定单词absolutely
,返回行
absolute
absol
ab
absolutely
我尝试了CONTAINS
SELECT word
FROM [dbo].[SentimentModel1]
WHERE contains(search,'absolutely')
答案 0 :(得分:1)
您正在寻找的是:
SELECT word FROM [dbo].[SentimentModel1] WHERE word LIKE '%absol%'
您应该使用您想要的较小部分。这应该以某种形式概括。 更好的方法是使用soundex:
SELECT word FROM [dbo].[SentimentModel1] WHERE SOUNDEX(word) = SOUNDEX('absol')
OR
SELECT word FROM [dbo].[SentimentModel1] WHERE SOUNDEX(word) = SOUNDEX('absolutely')
另一种方法是将单词拆分为字符:T-SQL Split Word into characters 之后,您只需要搜索字符组合。
指数位置0,
索引位置0 + 1,
0 + 1 + 2,
等...
为了获得更好的性能,您可以将所有搜索添加到临时表中并对其进行索引。全文搜索也可能有用......