我在这里的原因是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行,但是当我搜索foot
或ball
时,则不会返回任何记录。对我来说,搜索就像匹配确切的情况。
我可以做些什么来获得foot
和ball
的结果吗?
由于
答案 0 :(得分:1)
要搜索使用foot
的单词,请使用:
SELECT *
FROM MashupSearchLookup
WHERE CONTAINS(*, '"foot*"')
在SQL Server
中,FULLTEXT
次查询无法匹配后缀或中缀(即您无法搜索"*ball"
或"*otba*"
)。
您可以使用LIKE
:
SELECT *
FROM MashupSearchLookup
WHERE col1 LIKE '%ball%'
OR col2 LIKE '%ball%'
等