asp 高级模糊查询

来源:百度知道 编辑:UC知道 时间:2024/05/30 06:23:42
access数据库.
我想实现的效果是:

输入:我爱你

将存在"我爱你"这个词的条目前面显示,存在"我 爱 你"中的任意两个的下面显示.只存一个的最下面显示.

这里我只是举一个例子,查询的词并非只有3个字这么简单,有时是一句话,也就是要选出最相似的条目,像百度那样.

不知是否表述清楚.普通的查询语句我知道.解决问题了再追加200分.万分感谢!
nieyang:请注意你的语言,“对牛弹琴”?谁是牛啊?你那破思路我几年前就知道了,我要的是高效的方法.你回答的要是好我还会重新发问吗?不要认为自己很NB,问问题的人不一定就比你差.....

key=replace(replace(replace(replace(replace(replace(replace(request(keywords)," ","")," ","")," ","")," ","")," ","")," ","")," ","") '尽可能把多余的空格替换掉
words=split(key," ") '把输入的关键字按空格断成书组
sql="select * from table where 字段 like '%"&key&"%'" '先给一个条件 什么条件都行
for i= 0 to ubound(words)-1 '把数组循环取出
sql=sql&" or 字段 like '%"&words(i)&"%'"
next
rs.open sql,conn,1,1

这个相对来说比较麻烦,写程序组合,首先将字符分离,然后再根据自己想要查询的效果组合,如,我爱你,爱你,我爱等,然后用数据库查询语句union连接,select * from table where column like'%我爱你%' union select * from table where column like '%爱你%' union select * from table where column like '%我爱%'类似连接多条语句

修改答复

那破思路并不是很高的技术,既然你几年前就知道了,怎么这么多年来,还是那个破技术,解决不了这些问题呢?是不是脑子坏了啊?

以为百度就是像你那样搜索的,正的是技术够强啊!
估计你没听说过百度的分