如何实现全文检索?

时间:2010-05-24 18:24:00 

 我们可以先建立一个包含文件名,文件标题的待检索文件的数据库,然后,用ADO方式来访问它,并建立记录集对象。

具体代码和说明见下:
  

<%@ 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>

标签:检索,全文,asp
0
投稿

猜你喜欢

  • ABAP ALV最常规写法及常用功能详解

    2023-07-13 04:02:24
  • Vue调用后端java接口的实例代码

    2024-05-09 10:51:02
  • sql server如何去除数据中的一些无用的空格

    2024-01-18 02:22:22
  • SQL中where语句的用法及实例代码(条件查询)

    2024-01-17 22:37:16
  • Python之列表推导式最全汇总(中篇)

    2022-05-25 20:56:59
  • MySQL优化之使用连接(join)代替子查询

    2024-01-25 18:26:33
  • python实现串口通信的示例代码

    2023-08-04 03:44:24
  • 详解Python类和对象内容

    2021-03-12 23:38:55
  • python中数字列表转化为数字字符串的实例代码

    2021-04-30 02:46:45
  • 使用Python和百度语音识别生成视频字幕的实现

    2022-02-28 23:12:42
  • ASP怎么谈到应用到类的?

    2008-03-10 11:21:00
  • Python中利用sqrt()方法进行平方根计算的教程

    2022-09-17 13:11:25
  • Sql Server 查询性能优化之走出索引的误区分析

    2012-05-22 18:56:52
  • 提高MYSQL查询效率的三个有效的尝试

    2009-02-27 16:08:00
  • MYSQL大数据导入

    2024-01-18 18:09:36
  • Go位集合相关操作bitset库安装使用

    2024-05-09 14:57:22
  • Python pkg_resources模块动态加载插件实例分析

    2023-10-31 16:48:39
  • ASP 正则表达式常用的几种方法(execute、test、replace)

    2010-03-02 20:23:00
  • SQL Server 在Management Studio中使用Web浏览器

    2024-01-24 12:48:20
  • Python中使用支持向量机SVM实践

    2022-03-17 16:14:21
  • asp之家 网络编程 m.aspxhome.com