全文检索引擎[asp版]
search.asp:
<%
set DM=server.CreateObject("DeepMap.HLL")
pnn=0: wdd="": pnn=Request("pn") : wdd=Trim(Request("wd"))
If pn < 1 OR pn > 50 Then
pn = 1
End If
response.write getPB(pnn, wdd)
Function getPB(pnn, wdd)
Dim vx(3000) : RS="" : RR="" : vn=0 : pn=int(pnn): wd=wdd
RS = DM.getmAA(wd, (pn - 1) * 10 + 9 + 50, 1)
vn = int(getT(RS, "TC")) : uz = Split(getT(RS, "TD"), "-")
For j = 0 To UBound(uz)
vx(j + 1) = uz(j)
Next
ss1 = "<html><head><meta http-equiv=Content-Type content='text/html;charset=gb2312'><style> BODY {FONT-SIZE: 100%; FONT-FAMILY: arial,sans-serif} A:link {COLOR: #0000cc; TEXT-DECORATION: underline} </style><title>全文搜索引擎" & urldecode(wd) & "</title></head>"
ss1 = ss1 & "<table cellpadding=0 cellspacing=0 border=0><tr><td align=left><a href=index.htm><img src=logo.gif width=148 height=65 border=0></a></td><td align=left><table border=0 cellpadding=0 cellspacing=0 align=left><tr><td colspan= 2 width=0><strong><font size=4px color=#C60A00> Powered By Karma</font></strong></td></tr>"
ss1 = ss1 & "<form name=f action=search.asp method='GET'><tr><td nowrap=nowrap valign=top> <input type=hidden name=pn value=1><input type=text name=wd id=kw size=40 maxlength=38 value='" & urldecode(wd) & "'></td><td style=padding-left:4px; valign=top><input type=submit value='搜索一下'></td></tr></form><tr><td></td></tr></table></td></tr></table>"
ss1 = ss1 & "<table width='100%' border='0' align='center' cellpadding='0' cellspacing='0' style='background-color:#E8F3FF;height:20px;margin-bottom:20px;font-size:12px'><tr><td nowrap> </td><td align='left' nowrap> <a style=COLOR:#0000cc href=index.htm>返回首页</a></td><td align='right' nowrap>" & getT(RS, "TB") & " </td></tr></table>"
if pn >(vn - 1) \ 10 + 1 Then
pn=(vn - 1) \ 10 + 1
end If
ss2 = ""
For i = pn * 10 - 9 To pn * 10
ss9 = ""
If i <= vn Then
RR = DM.getmFF( vx(i) & "_title_txt_url_time" )
Rtitle = DM.getmEE(getT(RR, "title"), wd, 0)
Rtxt = getT(RR, "txt")
if instr(1, Rtxt, "[[txt]]")>0 then
Rtxt=mid(Rtxt, instr(1, Rtxt, "[[txt]]")+7)
end if
Rtxt = DM.getmEE(Rtxt, wd, 1)
Rurl = getT(RR, "URL"): Rtime = getT(RR, "Time")
ss9 ="<table border=0 cellpadding=0 cellspacing=0 width=60% ><tr><td style=line-height:120%;font-size:100%;width:32em;padding-left:15px;word-break:break-all;word-wrap:break-word;>"
ss9 = ss9 & "<a href=" & Rurl & " target='_blank'>" & Rtitle & "<br></a>"
ss9 = ss9 & "<font size=-1>" & Rtxt & "<br>"
ss9 = ss9 & "<font color=#008000>" & Left(Rurl, 40) & "...[" & vx(i) & "] " & Rtime & "    </font></font><br><br></td></tr></table>"
End If
ss2 = ss2 & ss9 & vbCrLf
Next
If vn > (pn - 1) * 10 + 50 Or vn > 500 Then
vin = 500
Else
vin = vn
End If
For j = -4 To 4
k = (pn - 1) * 10 + j * 10
If vin > k And k > -1 Then
If j = 0 Then
S = "<a style=TEXT-DECORATION:none;font-weight:bold;COLOR:#a90a00 href=search.asp?pn=" & pn + j & "&wd=" & server.urlencode(wd) & ">" & pn + j & "</a>" & " "
Else
S = "<a style=font-weight:bold;COLOR:#000 href=search.asp?pn=" & pn + j & "&wd=" & server.urlencode(wd) & ">" & pn + j & "</a>" & " "
End If
ds = ds + S
End If
Next
k = pn * 10 - 20
If vin > k And k > -1 Then
ds ="<a style=COLOR:#0000cc href=search.asp?pn=" & pn - 1 & "&wd=" & server.urlencode(wd) & ">上一页</a>" & " " & ds
End If
k = pn * 10
If vin > k And k > -1 Then
ds = ds & "<a style=COLOR:#0000cc href=search.asp?pn=" & pn + 1 & "&wd=" & server.urlencode(wd) & ">下一页</a>" & " "
End If
ss3 = " " & ds
ss3 = ss3 & "<br><br><br><div style='clear:both;line-height:30px;background:#E8F3FF;text-align:center;font-size:13px'><span>此内容系搜索引擎根据您的指令自动搜索的结果,不代表本网站赞成被搜索网站的内容或立场</span></div>"
If vn = 0 Then
ss2 = "未找到相关结果,建议将关键词用空格分开。"
End If
getPB = ss1 & ss2 & ss3
End Function
Function getT(ks, kk)
ks = LCase(ks): kk = LCase(kk)
ki = InStr(1, ks, kk & "={{{")
If ki > 0 Then
ki = InStr(ki, ks, "{") + 3: kj = InStr(ki, ks, "}}}"): getT = Mid(ks, ki, kj - ki): Exit Function
End If
ki = InStr(1, ks, kk & "={")
If ki > 0 Then
ki = InStr(ki, ks, "{") + 1: kj = InStr(ki, ks, "}"): getT = Mid(ks, ki, kj - ki)
End If
End Function
Function urldecode(encodestr)
newstr = "": havechar = False: lastchar = ""
For i = 1 To Len(encodestr)
char_c = Mid(encodestr, i, 1)
If char_c = "+" Then
newstr = newstr & " "
ElseIf char_c = "%" Then
next_1_c = Mid(encodestr, i + 1, 2): next_1_num = CInt("&H" & next_1_c)
If havechar Then
havechar = False: newstr = newstr & Chr(CInt("&H" & lastchar & next_1_c))
Else
If Abs(next_1_num) <= 127 Then
newstr = newstr & Chr(next_1_num)
Else
havechar = True: lastchar = next_1_c
End If
End If
i = i + 2
Else
newstr = newstr & char_c
End If
Next
urldecode = newstr
End Function
%>
index.asp:
<%
Response.Buffer = True
Response.Expires = -1
Response.ExpiresAbsolute = Now() - 1
Response.Expires = 0
Response.CacheControl = "no-cache"
%>
<html>
<head>
<STYLE>BODY {
FONT-SIZE: 9pt; FONT-FAMILY: 宋体
}
TD {
FONT-SIZE: 9pt; FONT-FAMILY: 宋体
}
DIV {
FONT-SIZE: 9pt; FONT-FAMILY: 宋体
}
INPUT {
FONT-SIZE: 9pt; FONT-FAMILY: 宋体
}
BUTTON {
FONT-SIZE: 9pt; FONT-FAMILY: 宋体
}
.use1 INPUT {
BORDER-RIGHT: #d0d0d0 1px solid; BORDER-TOP: #d0d0d0 1px solid; BACKGROUND: #ffffff; BORDER-LEFT: #d0d0d0 1px solid; COLOR: #000000; PADDING-TOP: 1px; BORDER-BOTTOM: #d0d0d0 1px solid
}
.use1 TEXTAREA {
BORDER-RIGHT: #d0d0d0 1px solid; BORDER-TOP: #d0d0d0 1px solid; BACKGROUND: #ffffff; BORDER-LEFT: #d0d0d0 1px solid; COLOR: #000000; PADDING-TOP: 1px; BORDER-BOTTOM: #d0d0d0 1px solid
}
TABLE {
BORDER-COLLAPSE: collapse
}
</STYLE>
<STYLE>A {
TEXT-DECORATION: none
}
</STYLE>
<title>搜索上传系统登陆</title>
<link href="css/css.css" rel="stylesheet" type="text/css"/>
<link rel="stylesheet" href="style.CSS">
<script language=javascript>
function CheckForm()
{
if(document.Login.UserName.value=="")
{
alert("用户不能为空!");
document.Login.UserName.focus();
return false;
}
if(document.Login.Password.value == "")
{
alert("密码不能为空!");
document.Login.Password.focus();
return false;
}
}
</script>
</head>
<body topmargin="100" bgcolor="#D2E4FC">
<table width="100%" border="0" cellspacing="0" cellpadding="0" align="center" height="100%">
<tr>
<td>
<table width="264" border="1" cellspacing="0" style="border-collapse: collapse" class="border" align="center" bgcolor="#D2E4FC" bordercolor="green">
<form method="post" action="chkadmin.asp" onSubmit="return CheckForm();" name="Login">
<tr>
<td valign="middle" width="258" height="21">
<p align="center">搜索上传系统登陆</td>
</tr>
<tr align="center">
<td align="center" height="140" width="258">
<table width="241" border="0" cellspacing="5" cellpadding="0" align="center">
<tr>
<td align="right" width="64">账号:</td>
<td width="162">
<input name="UserName" type="text" id="UserName2" size="21" maxlength="20" style="border-width:1px; border-color:rgb(0,104,255); border-style:solid;">
</td>
</tr>
<tr>
<td align="right" width="64">密码:</td>
<td width="162">
<input name="Password" type="password" size="21" maxlength="20" style="border-width:1px; border-color:rgb(0,104,255); border-style:solid;">
</td>
</tr>
<tr align="center">
<td colspan="2" width="231">
<input type="submit" name="Submit" value=" 确认 ">
<input name="reset" type="reset" id="reset" value=" 清除 ">
</td>
</tr>
</table>
</td>
</tr>
</form>
</table>
<div align="center"> </div>
<p align="center"> </p>
<div align="right"> </div>
</td>
</tr>
</table>
</body>
</html>
chkadmin.asp:
<%
Response.Buffer = True
Response.ExpiresAbsolute = Now() - 1
Response.Expires = 0
Response.CacheControl = "no-cache"
Response.AddHeader "Pragma", "No-Cache"
Dim username,password
username=replace(trim(Request.Form("username")),"'","")
password=replace(trim(Request.Form("password")),"'","")
Set Conn=server.createobject("adodb.connection")
Set Rs=Server.CreateObject("adodb.recordset")
Conn.Open "Driver={SQL Server};Server=(Local);UID=sa;PWD=123;"&"database=db_search;"
Rs.Open "select * from tab_admin where username='"&username&"' and password='"&password&"'",Conn,3,3
If Not Rs.eof Then
'Rs("LastLoginIP")=Request.ServerVariables("REMOTE_ADDR")
'Rs("LastLoginTime")=now()
'Rs("LoginTimes")=rs("LoginTimes")+1
'Rs.update
'response.write ("<script>alert('成功登陆!')</script>")
session("username")=username
response.redirect "index.htm"
response.end
Else
response.write "<script>alert('账号或密码错误!');history.back();</script>"
response.end
End If
Rs.Close
Conn.Close
Set rs=Nothing
Set Conn = Nothing
%>
upinfo.asp:
<%
Response.Buffer = True
Response.Expires = 0
Response.CacheControl = "no-cache"
Response.AddHeader "Pragma", "No-Cache"
Set Conn=server.createobject("adodb.connection")
Set Rs=Server.CreateObject("adodb.recordset")
Conn.Open "Driver={SQL Server};Server=(Local);UID=sa;PWD=123;"&"database=db_search;"
Rs.Open "select * from tab_upload",Conn,3,3
%>
<html>
<head>
<link href="css/css.css" rel="stylesheet" type="text/css"/>
<title>文件信息上载</title>
<script type="text/javascript">
function enable()
{
var value = document.getElementById ('DocStyle');
if (value.value == "任务文件")
{
document.getElementById("TaskNumber").disabled=false;
}
else
{
document.getElementById("TaskNumber").disabled=true;
}
}
function check()
{
var value = document.getElementById('fn');
var key = document.getElementById('file');
var txt = document.getElementById('txt');
if(value.value == "")
{
alert("文件名不可以为空!");
return false;
}
if(key.value == "")
{
alert("请上传文件!");
return false;
}
if(txt.value == "")
{
alert("请填写文件摘要信息!");
return false;
}
}
function postvalue()
{
var key = document.getElementById ('selectarea');
var value = document.getElementById ('DocAuthor');
value.value = key.value;
}
function def()
{
var key = document.getElementById ('selectarea');
var value = document.getElementById ('DocAuthor');
//value.value = key.options[key.selectedIndex].text;
value.value = key.options[key.selectedIndex].value;
}
</script>
</head>
<body background="images/bg.jpg" onload='def();'>
<form action="SaveInfo.asp" method="POST">
文件名称:
<input type="text" name="fn" id="fn" style='width:200px'/>
<br />
文件类型:
<select name="DocStyle" id="DocStyle" style='width:200px' onchange="enable();">
<%
rs.movefirst
Do while not rs.eof
response.Write("<option value=""" & rs("DocStyle") & """>" & rs("DocStyle") & "</option>")
rs.movenext
Loop
%>
</select>
<br />
任务代号:
<select name="TaskNumber" id="TaskNumber" disabled="true" style='width:200px'>
<%
rs.movefirst
Do while not rs.eof
response.Write("<option value=""" & rs("TaskNumber") & """>" & rs("TaskNumber") & "</option>")
rs.movenext
Loop
%>
</select>
<br />
文件年份:
<select name="DocTime" style='width:200px'>
<%
rs.movefirst
Do while not rs.eof
response.Write("<option value=""" & rs("DocTime") & """>" & rs("DocTime") & "</option>")
rs.movenext
Loop
%>
</select>
<br />
所属工号:
<select name="JobNumber" style='width:200px'>
<%
rs.movefirst
Do while not rs.eof
response.Write("<option value=""" & rs("JobNumber") & """>" & rs("JobNumber") & "</option>")
rs.movenext
Loop
%>
</select>
<br />
编制单位:
<select name="DocComp" style='width:200px'>
<%
rs.movefirst
Do while not rs.eof
response.Write("<option value=""" & rs("DocComp") & """>" & rs("DocComp") & "</option>")
rs.movenext
Loop
%>
</select>
<br />
所属专业:
<select name="DocMajor" style='width:200px'>
<%
rs.movefirst
Do while not rs.eof
response.Write("<option value=""" & rs("DocMajor") & """>" & rs("DocMajor") & "</option>")
rs.movenext
Loop
%>
</select>
<br />
文件作者:
<select name="selectarea" id="selectarea" style='width:200px' onchange="postvalue();">
<%
rs.movefirst
Do while not rs.eof
response.Write("<option value=""" & rs("DocAuthor") & """>" & rs("DocAuthor") & "</option>")
rs.movenext
Loop
%>
</select>
<input type='text' name="DocAuthor" id="DocAuthor" style='width:183px;position:absolute;left:87px;'>
<br />
文件权限:
<select name="DocAuthity" style='width:200px'>
<%
rs.movefirst
Do while not rs.eof
response.Write("<option value=""" & rs("DocAuthity") & """>" & rs("DocAuthity") & "</option>")
rs.movenext
Loop
%>
</select>
<br />
文件摘要:
<br />
输入文件信息摘要(80字)
<br />
<textarea name='DocSummary' rows='10' cols='80' id="txt" onpropertychange='if(value.length>80) value=value.substr(0,80)'>
</textarea>
<br /><br />
文件上传:
<input type="file" name="file" id="file" size="42" style='width:200px'>
<br /><br />
<input type="submit" value="提交" onclick="return check();"/>
<input type='reset' name='res' value='清除' />
</form>
</body>
</html>
saveinfo.asp:
<%
Response.Buffer = True
Response.Expires = 0
Response.CacheControl = "no-cache"
Response.AddHeader "Pragma", "No-Cache"
Dim DocStyle,DocTime,DocComp,DocMajor,DocAuthor,DocSummary,DocAuthity,JobNumber
Dim file,filename,houzui
fn = Request.Form("fn")
DocStyle = Request.Form("DocStyle")
DocTime = Request.Form("DocTime")
DocComp = Request.Form("DocComp")
DocMajor = Request.Form("DocMajor")
DocAuthor = Request.Form("DocAuthor")
DocSummary = Request.Form("DocSummary")
DocAuthity = Request.Form("DocAuthity")
JobNumber = Request.Form("JobNumber")
file = Request.Form("file")
'把文件信息写入数据库
Set conn = Server.CreateObject("ADODB.Connection")
conn.open "Driver={SQL Server};Server=(Local);UID=sa;PWD=123;"&"database=db_search;"
set rs=server.CreateObject("adodb.recordset")
rs.open "select * from tab_file_info",conn,3,3
if file="" then
response.write"<script>alert('请选择要上传的文件!');window.location.href='upinfo.asp';</script>"
else
houzui=mid(file,InStrRev(file, "."))
if houzui=".pdf" or houzui=".doc" or houzui=".docx" or houzui=".bmp" or houzui=".jpg" or houzui=".tif" or houzui=".tiff" then '允许上传的文件类型
fn = fn & houzui
Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Type = 1
objStream.Open
objStream.LoadFromFile file
objStream.SaveToFile "D:\xss\" & fn,2
objStream.Close
'========================================
response.write"<script>alert('文件上传成功!');</script>"
else
response.write"<script>alert('不允许上传" & houzui & "格式文件!');window.location.href='upinfo.asp';</script>"
end if
end if
rs.addnew
rs("DocName") =fn
rs("DocStyle") =DocStyle
rs("DocTime") =DocTime
rs("DocComp") =DocComp
rs("DocMajor") =DocMajor
rs("DocAuthor") =DocAuthor
rs("DocSummary")=DocSummary
rs("DocAuthity")=DocAuthity
rs("JobNumber") =JobNumber
rs("DocPath") = "D:\xss\" & fn
rs.update
rs.Close
set rs=nothing
conn.Close
set conn=Nothing
%>
<html>
<head>
<link href="css/css.css" rel="stylesheet" type="text/css"/>
<title>保存文件页面</title>
</head>
<body>
<a href='upinfo.asp'>继续上传</a>
<BR /><BR />
<a href='index.htm'>全文搜索</a>
</body>
</html>
css:
*{
margin:0px auto;
padding:5px;
}
body{
background:#fff url("../images/bg.jpg") 0 0 repeat-x;
min-width:960px;
font-family: Arial;
font-size:14px;
}
image:
全文检索引擎[asp版]的更多相关文章
- sphinx全文检索引擎
今天刚刚学习了一下,就直接分享上去,有些还没有接触,如果有问题请指正,谢谢 sphinx是什么? Sphinx是一个全文检索引擎.主要为其他应用提供高速.低空间占用.高结果 相关度的全文搜索功能. S ...
- Lucene:基于Java的全文检索引擎简介
Lucene:基于Java的全文检索引擎简介 Lucene是一个基于Java的全文索引工具包. 基于Java的全文索引/检索引擎--Lucene Lucene不是一个完整的全文索引应用,而是是一个用J ...
- 全文检索引擎 sphinx-coreseek中文索引
Sphinx是一个基于SQL的全文检索引擎,可以结合MySQL,PostgreSQL做全文搜索,它可以提供比数据库本身更专业的搜索功能,使得应用程序更容易实现专业化的全文检索. Sphinx特别为一些 ...
- Apache Lucene(全文检索引擎)—创建索引
目录 返回目录:http://www.cnblogs.com/hanyinglong/p/5464604.html 本项目Demo已上传GitHub,欢迎大家fork下载学习:https://gith ...
- 全文检索引擎 Solr 部署与基本原理
全文检索引擎 Solr 部署与基本原理 搜索引擎Solr环境搭建实例 关于 solr , schema.xml 的配置说明 全文检索引擎Solr系列-–全文检索基本原理 一.搜索引擎Solr环境搭建实 ...
- 全文检索引擎 Lucene.net
全文搜索引擎是目前广泛应用的主流搜索引擎.它的工作原理是计算机索引程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置,当用户查询时,检索程序就根据事先建立的索引进行 ...
- 全文检索引擎Solr 指南
全文检索引擎Solr系列:第一篇:http://t.cn/RP004gl.第二篇:http://t.cn/RPHDjk7 .第三篇:http://t.cn/RPuJt3T
- Lucene 全文检索引擎
Apache Lucene PS: 苦学一周全文检索,由原来的搜索小白,到初次涉猎,感觉每门技术都博大精深,其中精髓亦是不可一日而语.那小博猪就简单介绍一下这一周的学习历程, 仅供各位程序猿们参考,这 ...
- Sphinx全文检索引擎测试
数据表 1.documents CREATE TABLE `documents` ( `id` int(13) NOT NULL auto_increment, `group_id` int(11) ...
随机推荐
- C# MVC 页面面包屑以及相应的权限验证操作
一.特性类 /// <summary> /// 访问权限控制属性. /// </summary> [AttributeUsage(AttributeTargets.Method ...
- 10款最新CSS3/jQuery菜单导航插件
这是我们在2014年收集的10款最新的CSS3 / jQuery菜单导航插件,不论从外观样式,还是功能扩展性,这些jQuery菜单一定可以满足大家的设计需求.这次我们收集的jQuery菜单,有水平 菜 ...
- popen && pclose函数
1. 函数操作: 创建一个管道,调用fork产生一个子进程,关闭管道的不使用端,执行一个shell以运行命令,然后等待命令终止: 2. 函数原型: #include <stdio.h> F ...
- intValue()的用法
今天看到了Integer的这个方法,有点疑惑,查了下,做下笔记; 1.intValue()是java.lang.Number类的方法,Number是一个抽象类.Java中所有的数值类都继承它.也就是说 ...
- Java上传文件格式判断
判断用户上传文件的合法性仅仅通过后缀名是完全不够的,谁也不知道后缀名是否被更改,服务器保存一个不知道真实类型的文件有极大的风险. 因此需要后台进行进一步的文件类型校验,这里有两种情况: 1)一般的文件 ...
- 第六篇:远程过程调用(RPC)
Remote procedure call (RPC) 客户端接口 有关RPC的说明 回调队列 消息属性 关联的ID ( Correlation Id ) 整合 在第二篇教程中,我们学习了如何使用工作 ...
- springboot hystrix turbine 聚合监控
1.新建Module eureka-monitor-client 2.父级pom中添加module 3.编写eureka-monitor-client 中的pom <?xml version= ...
- 本地配置环境打开项目出现404/本地wampserver配置伪静态以及php.ini配置
本地wamp/phpstudy实现虚拟主机后,出现了500错误看日志看到.htaccess: Invalid command ‘RewriteEngine’, perhaps misspelled o ...
- Linux查看内核信息或系统信息
先说说为什么会写这个.这是我去面试的时候面试官问的一个问题,我感觉是一个普遍会被问到的问题.为了让我自己记住,也便于收集下Linux运维方向考官的题目. 第一,查看内核信息 cat /proc/ver ...
- 28、Django实战第28天:个人信息展示
从今天开始,我来完成个人中心部分,前端页面如下 1.浏览这些页面可以发现,它们和base.html是有区别的,因此,它们需要新建一个模板usercenter-base.html 2.把usercent ...