简单的asp分词算法(正向最大匹配)
最近写站内搜索,所以研究了一下算法,该算法的原理如图显示。
以下是一个用asp写的简单的分词程序主要的代码,词库我已经用access建立好了。
如果要注重效率,MarLen的选取很是重要,否则效率会十分低下,这里MarLen我选取的是5。
dim faword : faword = ""
do while (len(fword) > 0)
tword = left(fword,5)
'response.write "tword--->" & tword & "<br />"
tlen = len(tword)
do while (tlen > 0)
fw = left(tword,tlen)
'response.write "fw--->" & fw & "<br />"
sql = "select fword from dict where fword='" & fw & "'"
set rsfff = connf.execute(sql)
if not rsfff.eof or tlen=1 then
faword = faword & fw & ","
'response.write fw & "<br />"
exit do
end if
tlen = tlen - 1
loop
'response.write "tlen--->" & tlen & "<br />"
fword = mid(fword,tlen+1)
'response.write "fword--->" & fword & "<br />"
loop
connf.close
dim querywords : querywords = split(faword,",")
querywords是保存关键词的数组。
分词就到这里了,对于如何利用分词的结果在数据库中查找结果也是值得研究的。
我这里用了清一色的“like”,“or” sql语句,效果不是很理想。
希望大家能够留言讨论。
相关文档:
ASP是目前一种广为应用的用来快速构建动态WEB站点的编程语言,默认的内置开发语言是VBScript,由于ASP和微软Windows系列操作系统的结合非常的好,使得ASP已经成为了NT开发平台上面进行WEB开发的首选语言和环境。
他有着简单易学,方便快速开发的种种优点,但是他也有着致命的弱点,就是他是脚本语言解释执行的,速度会受到 ......
目前,最常用的三种动态网页语言有ASP(Active Server Pages),JSP(Java Server Pages),
PHP (Hypertext Preprocessor)。
简 介
ASP全名Active Server & ......
发一个标准的数据库连接代码。希望对大家有帮助。
<%
option explicit
dim startime,endtime,conn,connstr,db
startime=timer()
'更改数据库名字
db="data/dvBBS5.mdb"
Set conn = Server.CreateObject("ADODB.Connection")
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data&n ......
在提交页面中验证session("GetCode")
<%@CodePage="65001"%>
<%
Call Com_CreatValidCode("GetCode")
Sub Com_CreatValidCode(pSN)
' 禁止缓存
Response.Expires = -9999
Response.AddHeader "Pragma","no-cache"
&nb ......
Adodb.Stream是ADO的Stream对象,提供存取二进制数据或者文本流,从而实现对流的读、写和管理等操作.
有下列方法:
Cancel 方法
使用方法如下
Object.Cancel
说明:取消执行挂起的异步 Execute 或 Open 方法的调用。
Close 方法
......