2012-06-21 1 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 

Он работает на моем примере.