在个人网站内部建立搜索引擎(二)
作者:未知 来源:大众网络报 添加时间:2006-5-21 10:29:10文件内容遍历过程SearchFile( f, s ),其中f为文件名参数,s为欲搜索的字串。在该函数中首先将被搜索文件打开,将文档内容全部读入一个字串变量中,随后用InStr()函数来判断欲搜索字串是否存在于该字串变量中。代码如下:
<%
Function SearchFile( f, s )
Set fo = fs.OpenTextFile(f)
content = fo.ReadAll
fo.Close
SearchFile = InStr(1, content, S, vbTextCompare) > 0
End Function
%>
如果在文件中发现字串,则调用过程FolderLink(fd),来显示该文件所在的目录,同时显示一个目录图标,随后,再调用FileLink(f)来显示包含欲搜索字串的一个文件名链接。
三、遍历子目录
在遍历目录的循环体最后,还不能忘记遍历所有子目录,在这层循环中仍然调用了过程SearchFolder。很明显这里有个小小的技巧,递归调用了SearchFolder过程,这使得程序能不断循环地遍历所有子目录。
四、总结
我们可以看到,该站内搜索程序结构比较简单,体现了典型的遍历搜索程序的思路。但它还是有许多缺陷的,例如比较明显的是,程序直接搜索HTML源文件,其中包含了很多的HTML代码。很可能产生:明明HTML页面中有该字串,而搜索时字串却没有匹配到的情况。所以,在此我们只想起一个抛砖引玉的作用,大家根据这个小程序的思路,一定能设计出更理想、更完美的应用程序来。
站内搜索