SQL Server 2008上的全文搜索实现问题

| 我有以下存储过程,
CREATE Procedure sp_SearchDB (
  @SearchWord nvarchar(200)
)

SET @SearchWord = \'\"*\' + @SearchWord + \'*\"\'

 Select * 
   from Table1
  Where Contains(Description, @SearchWord)
当我搜索\“ SQL Server \”时,它以\“ SQL \”或\“ Server \”返回结果,但不会以\“ SQLServer \”返回数据(如果没有空格),如果给searchword = SQLServer,它将不会返回\“ SQL Server \”(带空格)。如何获得两个结果“ SQL Server”和“ SQLServer”?     
已邀请:
您需要执行以下过程:
EXEC sp_SearchDB N\'SQL SERVER\'
    
坏消息是您可以做到的,但这会给您带来一些误报。尝试:
EXEC sp_SearchDB N\'SQL\'
当您确实关心误报时,他们的答案是:无法做到这一点。如果您同时需要\“ SQL Server \”和\“ SQLServer \”,则应该执行以下操作:
Select * from Table1 Where Contains(Description, \'\"SQL Server\" OR \"SQLServer\"\').
您可以编写一个始终尝试同时查找和分离两个单词的代码。如果您的客户搜索:
baby sitter
您的代码将在找到空白时创建以下变体:
\'\"baby sitter\" or \"babysitter\"\' 
希望您能理解。     

要回复问题请先登录注册