如何实现全文检索?

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

(0)

相关推荐

  • 开发实例:JSP中实现全文检索

    JSP中的全文检索 全文检索一直都是web方面的关键技术,如何在浩如烟海的信息中找到自己想要的信息是人们最关心的.鼎鼎大名的GOOGLE就是一个很成功的例子,网络上的人们大部分都用GOOGLE来查找自己需要的内容.全文检索主要有两个技术指标:快速和精确.前一段时间做了一个新闻系统,老板要加上全文检索的功能,想了很久才用一个不太高明的方法实现了.现在分享一下,希望是抛砖引玉吧,如果大家有更好的办法请跟在后边:) 先介绍一下我的新闻系统:数据库里存新闻的基本信息,如标题,发布人,发布时间,主体新闻的

  • SQL Server全文检索查询浅析

    方案概要: 1. 改变文件存储时的文件名 2. 配置索引服务器,并将索引服务器与MS SQL Server关联. 3. 修改SQL语句,将进行全文查询语句的内容加入查询条件中 文件的存储方式: 为了方便存储以及方便索引,我们将上传的文件存储到一个目录里面,为了保证上传的文件名不重复,采用GUID作为文件名,并且通过这个GUID于数据库记录相关联.同时,文件的后缀还保持原始文件的后缀,让索引服务能够识别该文档. 配置索引服务 进入计算机管理(Computer Management)程序(右键"我的

  • flex 实现全文检索中的高亮显示代码

    复制代码 代码如下: <mx:DataGrid id="dg" click="select()" dataProvider= "{modelLocator.resultList}" borderStyle="none" verticalGridLines="false" horizontalGridLines="false" verticalScrollPolicy="o

  • Oracle9i的全文检索技术开发者网络Oracle

    正在看的ORACLE教程是:Oracle9i的全文检索技术开发者网络Oracle.介绍:细处着手,巧处用功.高手和菜鸟之间的差别就是:高手什么都知道,菜鸟知道一些.电脑小技巧收集最新奇招高招,让你轻松踏上高手之路. >> 摘要 全文检索技术是智能信息管理的关键技术之一,Oracle Text作为Oracle9i的一个组件,提供了强大的全文检索功能,用Oracle9i做后台数据库,就可以充分利用其全文检索技术,构建复杂的大型文档管理系统.本文主要介绍了Oracle Text的体系结构及其使用.

  • SqlServer 2005 简单的全文检索

    复制代码 代码如下: --查看当前数据库状态 1为已经启用了全文索引 SELECT DATABASEPROPERTY ('数据库名','IsFulltextEnabled') --打开FullText功能 execute sp_fulltext_databse 'enable' --关闭此功能 execute sp_fulltext_databse 'disable' --创建全文索引目录 --删除全文目录 DROP FULLTEXT 目录名 CREATE FULLTEXT CATALOG 目录

  • SQLServer 全文检索(full-text)语法

    sql server 全文检索有两种搜索方式,一种是contains,另一种是freetext.前者是包含,类似于 like '%关键词%',后者则是将一段文字分词以后对每个词进行搜索. 具体语法: contains: SELECT 字段1,字段2 FROM 表名 WHERE contains(字段,'"词一" or "词二"') 根据查找结果的相似度排序 SELECT 字段1,字段2 FROM 表名 inner join containstable(表名, 字段,

  • 全文检索技术 sql server

    在未做全文检索以前,个人主页只能对Fs_Title(文章标题)字段进行模糊查询(like '%*%'),如果对内容进行模糊查询,速度极慢,有时还可能报错,今天终于有空了,把这个查询做好了,经过测 试,检索一万条纪录不到两秒时间.ENJOY~~ 复制代码 代码如下: use  LuanLuanDB exec sp_fulltext_database 'enable' exec sp_fulltext_catalog 'ArtileFullText', 'create', 'E:\SearchPag

  • 如何实现全文检索?

    <%@ LANGUAGE="VBscript" %> <html> <head> <meta NAME="GENERATOR" Content="Microsoft FrontPage 3.0"> <meta HTTP-EQUIV="Content-Type" content="text/html; charset=gb_2312-80"> <

  • SQL Server 2005 中做全文检索的方法分享

    /*打开全文索引支持,启动SQL Server的全文搜索服务 */ execute sp_fulltext_database 'enable' /*创建全文目录*/ EXEC SP_FULLTEXT_CATALOG 'FT_testData','CREATE' /*建立全文索引数据元*/ EXEC sp_fulltext_table 'Hc_Book_Book','CREATE','FT_testData','PK_Hc_Book_BookInfo' /*添加支持全文索引的列名*/ EXEC s

  • Python中使用haystack实现django全文检索搜索引擎功能

    前言 django是python语言的一个web框架,功能强大.配合一些插件可为web网站很方便地添加搜索功能. 搜索引擎使用whoosh,是一个纯python实现的全文搜索引擎,小巧简单. 中文搜索需要进行中文分词,使用jieba. 直接在django项目中使用whoosh需要关注一些基础细节问题,而通过haystack这一搜索框架,可以方便地在django中直接添加搜索功能,无需关注索引建立.搜索解析等细节问题. haystack支持多种搜索引擎,不仅仅是whoosh,使用solr.elas

  • PHP redis实现超迷你全文检索

    情景: 我们平台有好多游戏, 运营的同事在查询某一款游戏的时候, 目前使用的是html的select下拉列表的展现形式, 运营的同事得一个个去找,然后选中,耗时又费眼 效果: 输入"三国"或者"国三", 将自动列出所有包含"三国"的游戏名字, 输入不限顺序; 例如输入"杀三国",仍然会将"三国杀"这款游戏找出来 实现: 我用redis的集合+PHP的array_intersect()和mb系列函数, 实现了

  • python 全文检索引擎详解

    python 全文检索引擎详解 最近一直在探索着如何用Python实现像百度那样的关键词检索功能.说起关键词检索,我们会不由自主地联想到正则表达式.正则表达式是所有检索的基础,python中有个re类,是专门用于正则匹配.然而,光光是正则表达式是不能很好实现检索功能的. python有一个whoosh包,是专门用于全文搜索引擎. whoosh在国内使用的比较少,而它的性能还没有sphinx/coreseek成熟,不过不同于前者,这是一个纯python库,对python的爱好者更为方便使用.具体的

  • 深度解析MySQL 5.7之中文全文检索

    前言 其实全文检索在MySQL里面很早就支持了,只不过一直以来只支持英文.缘由是他从来都使用空格来作为分词的分隔符,而对于中文来讲,显然用空格就不合适,需要针对中文语义进行分词.这不,从MySQL 5.7开始,MySQL内置了ngram全文检索插件,用来支持中文分词,并且对MyISAM和InnoDB引擎有效. 在使用中文检索分词插件ngram之前,先得在MySQL配置文件里面设置他的分词大小,比如, [mysqld] ngram_token_size=2 这里把分词大小设置为2.要记住,分词的S

  • 关于Sphinx创建全文检索的索引介绍

    全文检索的索引创建过程一般有以下几步:1.一些需要创建索引的文档(Documents). 2.将原文档传给分词组件(Tokenizer). 3.将得到的词元(Token)传给语言处理组件(Linguistic Processor). 4.将得到的词(Term)传给索引组件(Indexer).

随机推荐