繁体中文
设为首页
加入收藏
当前位置:ASP技术首页 >> ASP基础 >> asp简单的搜索引擎代码

asp简单的搜索引擎代码

2006-07-15 08:00:00  作者:  来源:互联网  浏览次数:0  文字大小:【】【】【
简介:下面是库中URLINDEX表:URL和Keywords字段分别添加了索引. URL 文本 (索引:有(无重复)) Title 文本 Description 文本 Summary 文本 Keywords 文本(索引:有(无重复)) doquery.ASP 简单...

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

URL 文本 (索引:有(无重复))

Title 文本

Description 文本

Summary 文本

Keywords 文本(索引:有(无重复))

doquery.ASP

简单搜索引擎

LEFTMARGIN=0 TOPMARGIN=0>

Query:

<%

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 "
你搜索的是: " & QueryString

Response.Write "
搜索的关键字: "

For i = LBound( Querywords ) to UBound( Querywords )

Response.Write "
" & strIndent & i & ": " & Querywords( i )

Next

' Print the SQL String

Response.Write "
sql 语句 : " & sql

' Print the Results

Response.Write "
结果 :

    "

    On Error Resume Next

    rs.MoveFirst

    Do While Not rs.eof

    Response.Write "
    " & "" & rs.Fields("Title") & " - "

    Response.Write rs.Fields("Description") & "
    "

    Response.Write " URL: " & rs.Fields("URL") & ""

    Response.Write "


    "

    rs.MoveNext

    Loop

    Response.Write "

"

end if

%>

责任编辑:admin
相关文章