欢迎各位朋友讨论如何做网站全文检索系统??200分相赠!!

coffee_cn 2003-06-19 09:28:41
首先把我自己的思路说下:
1、利用google
<table border="0" align="center" cellpadding="20" cellspacing="0">
<tr>
<TD>
<FORM action=http://www3.google.com/custom method=get>
<TABLE cellSpacing=0 border=0>
<TR>
<TD valign="absMiddle"><a href="http://www.webpromote.com.cn" target="_blank"><IMG height=20 width=54 alt=Google src="http://www.webpromote.com.cn/images/logo_googl_s.gif" border=0></a></TD>
<TD>
<INPUT maxLength=100 size=24 name=q>
<INPUT type=submit value=Google搜索 name=sa> <FONT size=-1>
<INPUT type=hidden value=www.yourname.com name=domains>
<BR>
<INPUT type=radio value="" name=sitesearch>
<FONT face=Arial, Helvetica, sans-serif size=-1>Web</FONT>
<INPUT type=radio CHECKED value=www.yourname.com name=sitesearch>
搜索本站 <INPUT type=hidden value=ZH-cn name=hl>
</TD>
</TR>
</TABLE>
</FORM>
</TD>
</tr>
</table>
2、直接对数据库搜索,这就需要把静态页面信息放入到数据库的一个表中;
3、自己做一个爬虫程序,利用这个爬虫程序把网站连接抓到数据表,然后直接对这个数据表进行搜索;
4、利用index server
以上只是从网上找到的一些解决方法,请大家批评,提出自己好的方法。谢谢!!!
...全文
79 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
qxm 2003-08-03
  • 打赏
  • 举报
回复
gz
dreamfly8848 2003-06-25
  • 打赏
  • 举报
回复
全文索引和全文检索是sql server 7.0的新增功能,它能够对数据中的字符类型列(如varchar、text等类型列)进行索
引,并通过索引实现全文搜索查询。sql server常规索引与全文检索相比,二者的区别如下:

常规索引 全文索引
使用create index或约束定义创建 使用全文索引存储过程创建和删除
通过删除或执行drop index语句删除

当插入、修改或删除数据时,sql server 只能通过任务调度或执行存储过
能够自动更新常规索引内容 程来填充全文索引

每个表可以建立多个常规索引 每个表只能有一个全文索引
索引不能分组 同一个数据库中的多个全文索引可
以组织为一个全文目录
常规索引存储在数据库文件中 全文索引存储在文件系统中

为了支持全文索引操作,sql server 7.0新增了一些新存储过程和transact-sql语句,使用这些存储过程创建全文索引的
具本步骤为(括号内为每步所调用的存储过程名称):

(1)启动数据库的全文处理功能(sp_fulltext_datebase);
(2)建立全文目录(sp_fulltext_catalog);
(3)在全文目录中注册需要全文索引的表(sp_fulltext_table);
(4)指出表中需要全文检索的列名(sp_fulltext_column)
(5)为表创建全文索引(sp_fulltext_table);
(6)填充全文索引(sp_fulltext_catalog)。

例:
use pubs
go
exec sp_fulltext_database 'enable'
--为titles表建立全文索引数据元,其中create为建立,activate为激活,deactivate为关闭表全文索引的激活状态,使
它不再参加全文目录填充,drop为删除;create参数中,后面跟的是全文目录名称和索引列名。
--下面语句为pubs数据库中的titles表创建全文索引数据元,存储该数据元的全文目录为FT_pubs,所使用的唯一索引为
UPKCL_titleidind(title表中为title_id列的PRIMARY KEY约束所建立的唯中索引)
sp_fulltext_table titles,'create','FT_pubs','upkcl_titledind'

--激活它
sp_fulltext_table titles,'activate'

--指定参加全文索引的列
sp_fulltext_column 'titles','title','add'
sp_fulltext_column 'titles','notes','add'

下面是一个完整的例子:
--在执行该脚本程序之前启动sql server的全文搜索服务,即microsoft search服务
use pubs --打开数据库
go
--检查pubs是否支持全文索引,如果不支持全文索引,则使用sp_fulltext_datebase打开该功能
if (select databaseproperty ('pubs','IsFulltextEnables'))=0
execute sp_fulltext_database 'enable'
--建立全文目录FT_pubs
execute sp_fulltext_catalog 'FT_pubs','create'
--为titles表建立全文索引数据元
execute sp_fulltext_table 'titles','FT_pubs','UPKCL_titleidind'
--设置全文索引列名
execute sp_fulltext_column 'titles','title','add'
execute sp_fulltext_column 'titles','notes','add'
--建立全文索引
execute sp_fulltext_table 'FT_pubs','activate'
--填充全文索引目录
execute sp_fulltext_catalog 'FT_pubs','start_full'
GO
--检查全文目录填充情况
WHILE FulltextCatalogProperty("FT_pubs','PopulateStatus')<>0
BEGIN
--如果全文目录正处于填充状态,则等待30秒后再检测一次
WAITFOR DELAY ‘0:0:30’
END
--全文目录填充完成后,使用全文目录检索

--查询title列或notes列中包含有database或computer字符串的图书名称
SELECT title
FROM title
where CONTAINTS(title,'database')
or contains(notes,'database')
or contains(title,'computer')
or contains(notes,'computer')


FreeLife 2003-06-25
  • 打赏
  • 举报
回复
"爬虫程序,利用这个爬虫程序把网站连接抓到数据表"
---------
can you share me a copy,please?!
Thank you!
lilizw6027@sina.com
5MB

If the capability is not enough,mail to me,please!
thank you!
hfgang 2003-06-25
  • 打赏
  • 举报
回复
微软的msdn站点

使用 Microsoft SQL Server 2000 的全文搜索功能构建 Web 搜索应用程序
http://www.microsoft.com/china/msdn/library/dnsql2k/html/sql_fulltextsearch.asp
cpio 2003-06-20
  • 打赏
  • 举报
回复
如果数据是放在数据库中的话就搜索数据库就行了

如果是些HTML文件可以用Cool Search Maker这个软件帮你生成搜索页面

很不错的
fason 2003-06-20
  • 打赏
  • 举报
回复
http://www.aspsky.net/article/index.asp?classid=2&Nclassid=7
hfgang 2003-06-20
  • 打赏
  • 举报
回复
国外有提供站内检索的网站,去注册一下可以了,
www.freefind.com
jesee 2003-06-20
  • 打赏
  • 举报
回复
google提供一种接口,可以进行网上全文检索,不过接口密匙要申请.
huanghai2000 2003-06-19
  • 打赏
  • 举报
回复
我现在也在做,我的思路是这样的。也就是对本地查询。
用filesystemobject对象对文件进行读取。对整个网站的文件进行遍历文件操作,在所有的文件中查询,所要查询的关键词。也就是字符串。如果有这个字符串。就把这个文件名列出来。并加上超级连接到此文件。
我的这个办法应该属于你说的第三种吧!
ceocio 2003-06-19
  • 打赏
  • 举报
回复
如果信息是从数据库取出生成动态页面,那么使用循环查询数据库就可以了,不过效率要注意

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧