2011-04-22 161 views
2

我在這裏的原因是SQL 2005全文搜索。全文搜索搜索問題

我與此查詢在這裏尋找:

declare @SearchText nvarchar(1000) 
set @SearchText='Dream'; 

SELECT *   
FROM    
    MashupSearchLookup AS FT_MyTable WITH (NOLOCK)    
    INNER JOIN FREETEXTTABLE(MyTable, *, @SearchText) AS KEY_TBL   
    ON FT_MyTable.ID = KEY_TBL.[KEY] 

當我搜索football話,就說明3行這是很好的,但是當我搜索football則沒有記錄返回。對我來說,它正在尋找匹配確切的案例。

有什麼我可以做的,以得到football的結果嗎?

感謝

回答

1

以搜索與foot盯着的話,可以使用:

SELECT * 
FROM MashupSearchLookup 
WHERE CONTAINS(*, '"foot*"') 

SQL ServerFULLTEXT查詢無法比擬的後綴或綴(即你不能搜索"*ball""*otba*")。

你可以做搜索這一點,最好是使用LIKE

SELECT * 
FROM MashupSearchLookup 
WHERE col1 LIKE '%ball%' 
     OR col2 LIKE '%ball%' 

+0

感謝您的回覆,我有現在二人的問題,如果用戶輸入什麼「腳球」,然後我做必須通過這個像腳或球?第二件事是使用RANK的m這就是爲什麼即時通訊使用FREETEXTTABLE – user720368 2011-04-22 11:47:11

+1

@user:查詢「'」腳「或」球「」(或''「腳* *」或「球*」''你想匹配前綴)。如果你需要'RANK',你可以使用'CONTAINSTABLE'而不是'CONTAINS'。 – Quassnoi 2011-04-22 11:51:23