用asp制作强大的搜索引擎 -- 模糊搜索
根据一个关键字, 搜索到相关的资料,这里的“相关”是指资料中有类似这个关键字的字符串。例如:“山东”这个关键字,只要数据库中资料里包含“山东”这个关键字的都要把它 们找出来。模糊搜索的应用其实很简单,只要使用一个sql语句就可以实现,下面咱们看看他的语句的写法。
sql语法中你会发现这 么几个判定词:LIKE、NOT LIKE和 BETWEEN。 LIKE判定词是一个非常有用的符号。不过,在很多情况下用了它可能会带给你太多的数据,所以在用到它之前最好先开动脑筋多想想自己到底想获得什么数据。 NOT LIKE是反其道而行了。BETWEEN假设你想取出一定范围内的数据,而且你事先知道范围的起点和终点,那么你不妨采用BETWEEN 判断词。这几个判定词根据不同的环境使用,一般最常用的就是like和"%"结合了。
dim sql,key
key=request("key")
sql="select * from www where sitename like '%"&key&"%' or faq like '%"&key&"%' or key like '%"&key&"%' "
说 明:这里的sql语句目的就是检索数据库中sitename字段中是否包含key,faq字段中是否包含key,key字段中是否包含key,这样做的目 的是让搜索的范围包含到“站点名称”、“站点简要说明”、“站点关键字”。如果你只想搜索关键字只要使用 sql="select * from www where key like '%"&key&"%' " 就可以了。“like”中都使用了“or”来相连,“or” “或者”的意思,意思是不论哪一个like 符合条件,都要把搜索到的资料输出显示出来。