2012-06-21 53 views
0
Select d.Path 
from Documents d 
inner join (SELECT FT_TBL.DocumentId, KEY_TBL.RANK as ranks 
      FROM FullTextCatalog AS FT_TBL 
      INNER JOIN FREETEXTTABLE(FullTextCatalog, Icerik, 
      ' "hısım*" ') AS KEY_TBL 
      ON FT_TBL.DocumentId = KEY_TBL.[KEY]) as results on d.Id = results.DocumentId 
order by results.ranks 

此查询仅返回具有“hısım”单词本身的行。但预期的结果应该带有前缀“hısım”一词。我对吗?即“hısımlar”,“hısımları”等。Asteriks通配符在SQL Server全文搜索中不起作用

所以我错过了什么?

回答

0

我认为你应该使用CONTAINSTABLE代替

Select d.Path 
from Documents d 
inner join (SELECT FT_TBL.DocumentId, KEY_TBL.RANK as ranks 
     FROM FullTextCatalog AS FT_TBL 
     INNER JOIN CONTAINSTABLE(FullTextCatalog, Icerik, 
     ' "hısım*" ') AS KEY_TBL 
     ON FT_TBL.DocumentId = KEY_TBL.[KEY]) as results on d.Id = results.DocumentId 
order by results.ranks 

它可以在我的例子。