首页 新闻 会员 周边

ASP.net+MSSQL中如何高效实现简单的多关键词查询?

0
悬赏园豆:30 [已关闭问题]

比如用户输入: "microsoft google yahoo"
就要搜索既包含microsoft又包含google和yahoo的记录
难道只能用类似下面的条件了吗?有没有其他更简单更高效的方法呢?期待高手的回答!
indexs like '%microsoft%' and indexs like '%google%' and indexs like '%yahoo%'

 

小丑鱼的海洋的主页 小丑鱼的海洋 | 初学一级 | 园豆:182
提问于:2009-06-15 17:19
< >
分享
其他回答(2)
0

数据不多的时候按你的方法是最简单有效的方法,不过似乎应该用or而不是and?

Gray Zhang | 园豆:17610 (专家六级) | 2009-06-15 18:56

最近我也碰到类似问题,请问一下,数据多的情况,该用什么,全文索引contains(keyword,'"yahoo*"')

or contains(keyword,'"google*"') or contains(keyword,'"microsoft*"')

但感觉不是最好的解决方式

0

select P_Name from  product where

(charindex('microsoft',P_Name)>0

or charindex('google',P_Name)>0

or charindex('yahoo',P_Name)>0

)
没有最好, 只有更好

邀月 | 园豆:25475 (高人七级) | 2009-06-16 17:22
0

最近也碰到类似问题,请问一下,数据多的情况,该用什么?

全文索引contains(keyword,'"yahoo*"')

or contains(keyword,'"google*"') or contains(keyword,'"microsoft*"')

但感觉不是最好的解决方式

心有多大,舞台就有多大 | 园豆:99 (初学一级) | 2012-09-12 21:09
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册