SQL中可以实现多个关键词匹配的搜索功能吗

比如说我想做一个图书搜索的功能,数据库总有一本“HTML,XHTML,CSS与JavaScript完全自学"的书,但是用户可能不会输入书的全名来查找,而是输入一些关键字,... 比如说我想做一个图书搜索的功能,数据库总有一本“HTML,XHTML,CSS与JavaScript完全自学"的书,但是用户可能不会输入书的全名来查找,而是输入一些关键字,比如说"HTML CSS”,所以我就想把用户输入的字符串用正则表达式拆分成独立的英文单词,然后一个个去数据库中与数名匹配,只有包含所有关键字的书才是符合要求的。但是因为用户输入的关键字的个数不是固定的,该如何进行模糊搜索呢 展开
 我来答
小山菜菜子
2014-10-20 · 超过36用户采纳过TA的回答
知道小有建树答主
回答量:74
采纳率:0%
帮助的人:53.3万
展开全部
explode把用户桐敬输入腊猜的关键词拆分成数组,然后$str = implode("%' or like '%",array);

然后$sql = "select * from table where name like '%".$str."%'";
当然你explode之前轮轮型要先处理返回的关键词字符串,去掉多余的空格和符号
追问
这样可以吗,我试一下,谢谢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
柚鸥ASO
2024-03-16 广告
在ASO优化过程中,确定关键词的一般步骤如下:1. 确定有效关键词:首先需要了解目标市场的热度,过滤掉低热度的关键词,例如搜索次数小于4605的词,因为平均一天只有一次搜索。这些低热度的词大部分是关键词覆盖的长尾搜索词,无需过多关注。2. ... 点击进入详情页
本回答由柚鸥ASO提供
匿名用户
2014-10-20
展开全部
vb.net的话可以用这句for each word as string in split(用户输入的字符串," ")
这句就能遍历空格隔开的每个词了租裤,然和誉后针对每个词用楼上几个说的select语句查询弊棚简一下,把结果放在一起就是至少符合其中一个关键词的了。把结果取个交集的话就是符合所有关键词的。
你看看php有没有for each
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ypf199283
2014-10-19 · TA获得超过362个赞
知道小有建树答主
回答量:632
采纳率:0%
帮助的人:428万
展开全部
select * from 表名 where 字段名 like '%CSS%'
包含“css”的并且是连续的 都会筛选出来
比如 HTML,XHTML,CSS与JavaScript完全自学,CSS与JavaScript不完全自学,XHTML与CSS自学成才,CSS从入门到精通,纯清知
都会筛选出正册来
但是 C/B与B/SS的区别这种不连贯的CSS是不会显示出来的做消!
更多追问追答
追问
我的意思是用户输入的关键字数是不确定的,可以是HTML,XHTML,CSS与JavaScript中的任意一个或者几个,而在进行筛选的时候是把输入的几个关键词都去匹配,只有包含所有用户输入关键词的项才是符合要求的
追答
那你就把用户输入的所有字儿,拆分成单个的字儿或者2个的字儿,然后用上面的方法把每个字儿都like一下,然后and连接上!

或者你要有一个非常完美的词库,匹配出来用户输入的所有字儿里面有几个词,就like几个词,不要想了,不可能那么完美的实现的!那是百度这种大搜索引擎或者淘宝等等公司才运用的,你也用不到那么精细!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
怪自己想的美好
2014-10-23 · 超过18用户采纳过TA的回答
知道答主
回答量:41
采纳率:0%
帮助的人:41.7万
展开全部
能,有sql语句 有个模糊查询
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
SIANGKEE
2014-10-19 · TA获得超过1552个赞
知道小有建树答主
回答量:1033
采纳率:50%
帮助的人:823万
展开全部
select * from table where bookname like 拆液御埋谨'旅岩%html%'
追问
我的意思是要适合用户随意输入时能搜索出相关的书名,比如说,输入“CSS”,就能搜出所有书名中包含“CSS“的书,输入HTML CSS“就能搜出所有书名包含”HTML“和”CSS”的书
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式