<%@ LANGUAGE=\”VBscript\” %> <html> <head> <meta NAME=\”GENERATOR\” Content=\”Microsoft FrontPage 3.0\”> <meta HTTP-EQUIV=\”Content-Type\” content=\”text/html; charset=gb_2312-80\”> <title>星河影动之全文检索</title> <meta name=\”Microsoft Border\” content=\”tl, default\”>
</head> <body BGPROPERTIES=\”FIXED\” BGCOLOR=\”#00FFFF\”>
<% mousepointer=13 Set Conn1 = Server.CreateObject(\”ADODB.Connection\”) conn1.open \”DSN=intels\” Set rcst1 = conn1.execute(\”select * from pages_catalogue\”) sch_str=request.form(\”text1\”) doubbytes=len(sch_str)\\2 sch_str=left(sch_str,doubbytes)
\’ 匹配字串的长度.预处理Request取得的数据(用户输入的有用信息), 通过计算有效信息长度来截取所需的字串.我们也可以在输入字串后附加一标志字符(如#或chr(7))来处理. Response.Write \”<CENTER>检索结果<HR><Br>\” Dim result result =false Response.Write \”<UL>\” do while not rcst1.eof tit=rcst1.fields(\”file_title\”) fn=rcst1.fields(\”file_name\”) file_name= Server.MapPath (\”/\”) & \”\\song\\chunfeng\\\” & fn to_find=text_match(file_name,sch_str)
\’ 逐个打开记录集中当前记录所指向的文件。用查找的字串对文件的全文本进行匹配比较. if to_find then url=\”chunfeng/\” & fn Response.Write \”<A HREF=\” & url & \”>\” & tit end if rcst1.movenext result=result or to_find loop Response.Write \”</UL>\”
\’ 把符合条件的文件标题以超级链接形式输出到客户端. if not result then Response.Write \”对不起,没有找到!\” end if mousepointer=0 %> <script RUNAT=\”Server\” LANGUAGE=\”VBScript\”> function text_match(filename,search_string) dim retstring dim find_pos Dim fso, a dim done text_match=false Set fso = Server .CreateObject(\”Scripting.FileSystemObject\”)
\’ 创建脚本的文件系统,打开文本流以读入. Set a = fso.OpenTextFile(filename, 1, FALSE)
done=a.AtEndOfStream or text_match Do While not done retstring = a.ReadLine find_pos=instr(retstring,search_string) if find_pos>0 then text_match=true done=a.AtEndOfStream or text_match Loop a.Close end function </script> </body></html>
[1]
您可能感兴趣的文章:
- SqlServer 2005 简单的全文检索
- SQL Server全文检索查询浅析
- flex 实现全文检索中的高亮显示代码
- Oracle9i的全文检索技术开发者网络Oracle
- 开发实例:JSP中实现全文检索
- 全文检索技术 sql server
- SQLServer 全文检索(full-text)语法