简单的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语句,效果不是很理想。
希望大家能够留言讨论。
相关文档:
<%
'调试:JAVA中文网:www.javaweb.cc/
'注意,按照所放置的目录不同请修改objXmlHttp和生成首页路径
dim objXmlHttp,binFileData,objAdoStream
set objXmlHttp = Server.CreateObject("Microsoft.XMLHTTP")
objXmlHttp.open "GET","http://"&request.ServerVariables("HTTP_HOST")&"/index.asp",false ......
txt文件是下面这样的,
一行一条数据,用逗号分隔
下面写出asp文件
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!--#include file="inc/conn.asp" -->
<%
filespec=server.mappath("txt.txt")
Const ForRead ......
<%
Set rs=Server.CreateObject("ADODB.RecordSet")
sql="select * from 0791idc_News where BigClassName='家装课堂' order by ID desc"
rs.Open sql,Conn,1,1
if rs.eof and rs.bof then
response.Write("暂时没有记录")
else
%>
......
1.如果您的操作系统为Windows 98,请运行 Windows98的安装光盘。在其Add-ons\pws目录下找到pws的安装程序,运行安装即可
2.如果操作系统为 Windows 2000 以上,可以按图4.1.1的方法安装 IIS:
打开【控制面板】,找到 【添加/删除程序】→【添加/删除WINDOWS组件】,
弹出 【Windows 组件向导】 ,选择 【Internet ......
1。深层次来说这不是asp.net 的问题,而是html form 的submit 按钮就是如何设计。
当你的光标焦点进入某个表单元素的时候,会激活该表单的第一个(
流布局顺从左到右,从上至下)
type=submit 的按钮(假如有),等待响应回车事件,并提交该form
你可以测试一下代码
<form action="">
<input type ="t ......