简单的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语句,效果不是很理想。
希望大家能够留言讨论。
相关文档:
ActiveX控件运行在客户端。我们可以获得客户端的一些信息,如IC卡的信息,客户端的验证等等。但是ActiveX控件也有许多缺点:客户端的部署很困难,如客户端不能正确下载,下载了以后不能正确执行,下载的时候需要设置IE的安全级别等等。
更多的时候,我都在使用COM组件来扩展ASP的功能。准确地说,是服务端运行的Activex Dll ......
<%
Const New_img=10
set rs_Product=server.createobject("adodb.recordset")
sqltext="select top " & New_img & " * from 0791idc_Product order by ID"
rs_Product.open sqltext,conn,1,1
if not rs_Product.EOF then%>
<div align='center' id='demo' style='o ......
添加、删除、修改使用
db.Execute(Sql)命令执行操作
╔----------------╗
☆ 数据记录筛选 ☆
╚----------------╝
注意:单双引号的用法可能有误(没有测式)
Sql = "Select
Distinct
字段名 from 数据表"
Distinct函数,查询数据库存表内不重复的记录
......
IIS默认的错误页是很不友好的,很多人看到默认的错误页时都会说:网站打不开了!白白损失了这部分流量。而如果错误页直接跳转到首页又对搜索引擎很不友好,搞不好首页还会被封掉。所以根据情况,有两个方法解决这个问题:
如果是博客等内容型的网站,可以返回一个带有404错误的搜索框让访客搜索,若是电子商务型网站 ......