asp简单的搜索引擎代码

搜索引擎

下面是库中URLINDEX表:URL和Keywords字段分别添加了索引.

 URL           文本 (索引:有(无重复))
Title            文本
Description 文本
Summary    文本
Keywords   文本(索引:有(无重复))

doquery.asp

 <HTML><HEAD><TITLE>简单搜索引擎</TITLE></HEAD>
<BODY BGCOLOR=#ffffff MARGINWIDTH="0" MARGINHEIGHT="0"
LEFTMARGIN=0 TOPMARGIN=0>

<FORM METHOD="post" ACTION="doquery.asp?act=search">
 Query: <INPUT TYPE="Text" NAME="QueryString"><BR>
 <INPUT TYPE="Submit" VALUE="Submit">
</FORM>
</CENTER>

<%
dim act
act=request("act")
if(act="search") then
 QueryString = Request.form( "QueryString" )
 QueryWords  = Split( QueryString )
 strIndent   = "          "
 
 ' 如果搜索为空则返回
 If QueryString = "" Then
  Response.Redirect( "default.asp" )
 End If
 
 Session.timeout = 2
 If IsObject(Session("sitesearch_conn")) Then
     Set conn = Session("sitesearch_conn")
 Else
     Set conn = Server.CreateObject("ADODB.Connection")
     conn.open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("database/SiteSearch.mdb"),"",""
     Set Session("sitesearch_conn") = conn
 End If

 ' 查询语句
 sql = "SELECT * FROM [URLIndex] WHERE"
   

 '搜索Description字段
 sql = sql & " ( [Description] LIKE '%" & QueryWords( 0 ) & "%'"   ' First
 For i = LBound( QueryWords ) + 1 to UBound( QueryWords )
  If QueryWords( i ) <> "" and UCase( QueryWords(i) ) <> "OR" and UCase( QueryWords(i) ) <> "AND" Then
   If uCase( QueryWords( i-1 ) ) = "OR" Then
    sql = sql & " OR [Description] LIKE '%" & QueryWords( i ) & "%'"
   Else
    sql = sql & " AND [Description] LIKE '%" & QueryWords( i ) & "%'"
   End If
  End If
 Next

 ' 搜索Keywords字段
 sql = sql & " ) OR ( [Keywords] LIKE '%" & QueryWords( 0 ) & "%'"
 For i = LBound( QueryWords ) + 1 to UBound( QueryWords )
  If QueryWords( i ) <> "" and UCase( QueryWords(i) ) <> "OR" and UCase( QueryWords(i) ) <> "AND" Then
   If uCase( QueryWords( i-1 ) ) = "OR" Then
    sql = sql & " OR [Keywords] LIKE '%" & QueryWords( i ) & "%'"
   Else
    sql = sql & " AND [Keywords] LIKE '%" & QueryWords( i ) & "%'"
   End If
  End If
 Next

 '  搜索Title字段 
 sql = sql & " ) OR ( [Title] LIKE '%" & QueryWords( 0 ) & "%'"
 For i = LBound( QueryWords ) + 1 to UBound( QueryWords )
  If QueryWords( i ) <> "" and UCase( QueryWords(i) ) <> "OR" and UCase( QueryWords(i) ) <> "AND" Then
   If uCase( QueryWords( i-1 ) ) = "OR" Then
    sql = sql & " OR [Title] LIKE '%" & QueryWords( i ) & "%'"
   Else
    sql = sql & " AND [Title] LIKE '%" & QueryWords( i ) & "%'"
   End If
  End If
 Next

 ' 搜索Summary字段
 sql = sql & " ) OR ( [Summary] LIKE '%" & QueryWords( 0 ) & "%'"
 For i = LBound( QueryWords ) + 1 to UBound( QueryWords )
  If QueryWords( i ) <> "" and UCase( QueryWords(i) ) <> "OR" and UCase( QueryWords(i) ) <> "AND" Then
   If uCase( QueryWords( i-1 ) ) = "OR" Then
    sql = sql & " OR [Summary] LIKE '%" & QueryWords( i ) & "%'"
   Else
    sql = sql & " AND [Summary] LIKE '%" & QueryWords( i ) & "%'"
   End If
  End If
 Next

 sql = sql & " )"

    '
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open sql, conn, 3, 3    
   
    Response.Write "<BR><B> 你搜索的是: </B> " & QueryString   
   
    Response.Write "<BR><B> 搜索的关键字: </B> "
 For i = LBound( QueryWords ) to UBound( QueryWords )
  Response.Write "<BR>" & strIndent & i & ": " & QueryWords( i )
 Next

    ' Print the SQL String
    Response.Write "<BR><B> sql 语句 : </B> " & sql
 
 ' Print the Results
    Response.Write "<BR><B> 结果    : </B> <UL>"
 On Error Resume Next
 rs.MoveFirst
 Do While Not rs.eof
  Response.Write "<BR>" & "<A HREF='OpenPage.asp?IndexURL=" & rs.Fields("URL").Value & "'>" & rs.Fields("Title") & "</A> - "
  Response.Write rs.Fields("Description") & "<BR>"
  Response.Write "     <FONT SIZE=2>URL: " & rs.Fields("URL") & "</FONT>"
  Response.Write "<HR SIZE=1 WIDTH=200 ALIGN=LEFT>"
  rs.MoveNext
 Loop
 Response.Write "</UL>"
 
end if  
%>

</BODY>
</HTML>

时间: 2024-10-26 07:30:09

asp简单的搜索引擎代码的相关文章

asp简单用户登陆代码

<!-- #include file="../inc/conn1.asp"--> <!-- #include file="../inc/md5.asp"--> <%   if cstr(request("code"))<>cstr(session("getcode")) then     response.write"<SCRIPT language=JavaScrip

asp简单的用户登陆代码

asp简单的用户登陆代码 <% username=replace(request.form("username"),"'","''") password=replace(request.form("password"),"'","''") sql="select * from admin where(username='"&username&&q

ASP关于页面和代码分离的问题

代码分离|问题|页面|代码分离     为了避免ASP程序和HTML代码混写造成维护困难的情况,本文介绍了一种方法,利用模板来分离程序和页面,使程序设计更加轻松.       在使用ASP制作一个站点的时候,常常会出现一个ASP文件中,程序代码和HTML代码混合的情况.这样子做有许多缺点:    1. 且不说编程时就要对页面布局进行设计和编排,造成代码混乱难懂,不规范:    2. 当需要改变页面外观时,你不仅要改变HTML部份,也需要改变ASP代码,不易维护.       那么,要如何才能避免

用基于lucene的web项目实现的简单的搜索引擎,出现线程抛出的空指针异

问题描述 用基于lucene的web项目实现的简单的搜索引擎,出现线程抛出的空指针异 解决方案 没有源代码没法看啊,ifIndexExist,索引不存在?你在搜索之前没有建立相关索引? 贴代码出来看看. 解决方案二: 你需要先建立索引. 你看看这个对你有帮助么 http://blog.csdn.net/sushengmiyan/article/details/7436057 解决方案三: 不好意思 ,帮不上你的忙 了,想了好久还是想不出

c# asp net-c# asp.net登录页面代码

问题描述 c# asp.net登录页面代码 作业,做一个简单的登录页面,与sql连接,但是总是出现错误,不能验证到已注册的用户,这里还没有写注册的代码,只是单纯的在已有账户中登录 using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data.Sql

asp下载防盗链代码_应用技巧

asp下载防盗链代码第一种:  终于对下载系统做了个防盗链措施,在下载的页面头部做了如下代码,相关代码如下:   复制代码 代码如下: <%   From_url = Cstr(Request.ServerVariables("HTTP_REFERER"))   Serv_url = Cstr(Request.ServerVariables("SERVER_NAME"))   if mid(From_url,8,len(Serv_url)) <> 

html5+-求计算器简单加减乘除功能代码

问题描述 求计算器简单加减乘除功能代码 计算器 <!-- 外部css --> <!-- 外部移动层JS --> <!-- 外部计算功能JS --> <br> div{width:100%;height:800px;background:gray;}<br> 简单的计算器 <!-- 表单 --> <!-- 层的边框大小样式颜色 --> </tr> </table> </form> <

asp.net数据连接代码

asp.net数据连接代码,很简单的哦,如何用学了C# < %@ Import Namespace="System.Data" %> <%@ Import Namespace="System.Data.SQL" %> < script language="C#" runat="server"> ' 声明C# public DataSet dsCustomer; protected void

jsp 简单实例分页代码

jsp 简单实例分页代码 <% int pageSize=10; int showPage=1; int recCount=0; int pageCount=0; String SqlArticle; String toPage = request.getParameter("page"); SqlArticle="Select * from hl_news where smallname='"+csmallname+"' order by time