Sql server 2005 全文检索问题
我来这里的原因是SQL2005全文搜索 我正在此处使用此查询进行搜索:Sql server 2005 全文检索问题,sql-server-2005,search,full-text-search,Sql Server 2005,Search,Full Text Search,我来这里的原因是SQL2005全文搜索 我正在此处使用此查询进行搜索: declare @SearchText nvarchar(1000) set @SearchText='Dream'; SELECT * FROM MashupSearchLookup AS FT_MyTable WITH (NOLOCK) INNER JOIN FREETEXTTABLE(MyTable, *, @SearchText
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
时,则不会返回任何记录。对我来说,它就像一个匹配的精确案例
我可以做些什么来获得脚
和球
的结果吗
谢谢要搜索用
脚盯着看的单词
,请使用:
SELECT *
FROM MashupSearchLookup
WHERE CONTAINS(*, '"foot*"')
在SQL Server
中,FULLTEXT
查询不能匹配后缀或中缀(即您不能搜索“*ball”
或“*otba*”
)
您最好使用之类的进行搜索:
SELECT *
FROM MashupSearchLookup
WHERE col1 LIKE '%ball%'
OR col2 LIKE '%ball%'
等等。谢谢你的回复,我现在有两个问题,如果用户输入“足球”,那么我必须像足球一样传球吗??第二件事是我用的是排名,这就是为什么我用的是排名FREETEXTTABLE@user:查询'“foot”或“ball”
(或'“foot*”或“ball*”
,以匹配前缀)。如果需要RANK
,可以使用CONTAINSTABLE
而不是CONTAINS
。