请问站内搜索引擎怎么做??

时间:2022-08-08 08:38:03
该引擎是用来搜索一个website的正文内容(不是sourcecode的内容)的,不用数据库方式的话如何做??

请各位指点!!万分感谢!!!

3 个解决方案

#1


配置Index Server 

在执行Web服务器上的搜索之前,首先必须创建至少一个索引,并遵循以下步骤完成这项工作。 



⒈启动Windows 2000 Server服务器上的索引。 



缺省情况下选择图标位于管理工具组中的计算机管理。窗口的右边提供关于当前在服务器上

存在的索引信息。默认有两个索引:System和Web。 



⒉要创建新的索引,用鼠标右键单击索引服务或右边的面板,选定新建编录。 



显示添加编录对话框,指定索引的名称并用浏览按钮选取位置。索引服务不会立即开始索引,此时将弹出一条消息框,单

击确定继续。为了达到最佳的性能,索引服务可以放在和Web服务器隔离开的硬盘上。 



⒊指定索引的目录,用右键单击新建的编录名,从弹出选单中选定属性,将出现如图2所示的对话框。 



第一个选项卡常规显示刚刚输入的内容,在第二个选项卡跟踪中的WWW服务器下拉列表中选取你要索引的Web网站。 



⒋有了创建的编录,现在可以挑选你想在索引中包括的目录。 



这个强大的特性使你能创建几个用不同方式搜索内容的索引。例如,你可能想快速浏览从完整的文本中所引出的章节,这

个特性使你能在Index Server内执行这项任务。要添加一个目录,用右键单击右边的面板,选定新建目录。在出现的对话

框中通过浏览按钮选择目录并指定别名。如果必须登录到服务器才能得到需要的内容,则可以提供将使用的用户名和密

码,以便得到需要的内容。如果想检查受保护的内容,则更要维护内容的安全性,这一特性非常有用,这样只有被授权的

用户(也许是那些为此付钱的人)才能得到完整的内容。 



还可以使用这个工具排除Web站点中不想索引的子目录。例如,检索Scripts/CGI目录就不会对用户有什么用。为此,只要

双击该目录,将包括在索引中选定为否即可,见图3。 



⒌在已经为站点包括/排除了所有目录后,用右键单击右面板,从弹出选单中选定启动,重新启动Index Server服务。 



服务器将开始浏览已经创建的索引并开始检索内容。 



源程序:

1、search.asp

<HTML>

<HEAD>

<TITLE>The Indexing Service</TITLE>

<STYLE TYPE="text/css">

BODY {font-family:Tahoma,Arial,sans-serif; font-size:10pt}

.heading {font-family:Tahoma,Arial,sans-serif; font-size:14pt; font-weight:bold}

.cite {font-family:Tahoma,Arial,sans-serif; font-size:8pt}

</STYLE>

</HEAD>

<BODY BGCOLOR="#FFFFFF">

<SPAN CLASS="heading">Searching The Indexing Service Using ADO</SPAN><HR>

<!--------------------------------------------------------------------------->



<FORM Name="frmSearch" ACTION="QueryIndexServer.asp" METHOD="POST">

Search For: <INPUT TYPE="TEXT" NAME="txtSearchFor">

<P>

<INPUT TYPE="SUBMIT" VALUE="Perform Search">

<INPUT TYPE="RESET" VALUE="Clear Form">

</FORM>



</BODY>

</HTML>

2、QueryIndexServer.asp

<TITLE>The Indexing Service</TITLE>

<STYLE TYPE="text/css">

BODY {font-family:Tahoma,Arial,sans-serif; font-size:10pt}

.heading {font-family:Tahoma,Arial,sans-serif; font-size:14pt; font-weight:bold}

.cite {font-family:Tahoma,Arial,sans-serif; font-size:8pt}

.document {font-size:10pt; font-weight:bold; background-color:lightgrey; width:100%}

</STYLE>

</HEAD>

<BODY BGCOLOR="#FFFFFF">

<SPAN CLASS="heading">Results of search for

<I><%=Request.Form("txtSearchFor")%></I>

</SPAN><HR>

<!--------------------------------------------------------------------------->



<%



Dim strSearch



Set rsSearch = Server.CreateObject("ADODB.Recordset")



' create the connection string

strConn = "Provider=MSIDXS; Data Source=web"



' construct the search string

strSearch = "SELECT DocTitle, Path, FileName, Characterization, Size,write" & _

" FROM SCOPE()" & _

" WHERE CONTAINS ('" & Request.Form("txtSearchFor") & "')"



' open the recordset on the search

rsSearch.Open strSearch,strConn



' show what's been searched for

While Not rsSearch.EOF

Response.Write "<SPAN CLASS='document'>" & rsSearch("DocTitle") & "</SPAN><BR>" & _

rsSearch("Characterization") & "<BR>" & _

"<A HREF='" & rsSearch("Path") & "'>" & rsSearch("write") & "</A>" & _

" (" & rsSearch("Size") & " bytes)<P>"

rsSearch.MoveNext

Wend



' tidy up

rsSearch.Close

Set rsSearch = Nothing

%>





</BODY>

</HTML>

采用默认的web索引!

#2


好!顶!

#3


学习

#1


配置Index Server 

在执行Web服务器上的搜索之前,首先必须创建至少一个索引,并遵循以下步骤完成这项工作。 



⒈启动Windows 2000 Server服务器上的索引。 



缺省情况下选择图标位于管理工具组中的计算机管理。窗口的右边提供关于当前在服务器上

存在的索引信息。默认有两个索引:System和Web。 



⒉要创建新的索引,用鼠标右键单击索引服务或右边的面板,选定新建编录。 



显示添加编录对话框,指定索引的名称并用浏览按钮选取位置。索引服务不会立即开始索引,此时将弹出一条消息框,单

击确定继续。为了达到最佳的性能,索引服务可以放在和Web服务器隔离开的硬盘上。 



⒊指定索引的目录,用右键单击新建的编录名,从弹出选单中选定属性,将出现如图2所示的对话框。 



第一个选项卡常规显示刚刚输入的内容,在第二个选项卡跟踪中的WWW服务器下拉列表中选取你要索引的Web网站。 



⒋有了创建的编录,现在可以挑选你想在索引中包括的目录。 



这个强大的特性使你能创建几个用不同方式搜索内容的索引。例如,你可能想快速浏览从完整的文本中所引出的章节,这

个特性使你能在Index Server内执行这项任务。要添加一个目录,用右键单击右边的面板,选定新建目录。在出现的对话

框中通过浏览按钮选择目录并指定别名。如果必须登录到服务器才能得到需要的内容,则可以提供将使用的用户名和密

码,以便得到需要的内容。如果想检查受保护的内容,则更要维护内容的安全性,这一特性非常有用,这样只有被授权的

用户(也许是那些为此付钱的人)才能得到完整的内容。 



还可以使用这个工具排除Web站点中不想索引的子目录。例如,检索Scripts/CGI目录就不会对用户有什么用。为此,只要

双击该目录,将包括在索引中选定为否即可,见图3。 



⒌在已经为站点包括/排除了所有目录后,用右键单击右面板,从弹出选单中选定启动,重新启动Index Server服务。 



服务器将开始浏览已经创建的索引并开始检索内容。 



源程序:

1、search.asp

<HTML>

<HEAD>

<TITLE>The Indexing Service</TITLE>

<STYLE TYPE="text/css">

BODY {font-family:Tahoma,Arial,sans-serif; font-size:10pt}

.heading {font-family:Tahoma,Arial,sans-serif; font-size:14pt; font-weight:bold}

.cite {font-family:Tahoma,Arial,sans-serif; font-size:8pt}

</STYLE>

</HEAD>

<BODY BGCOLOR="#FFFFFF">

<SPAN CLASS="heading">Searching The Indexing Service Using ADO</SPAN><HR>

<!--------------------------------------------------------------------------->



<FORM Name="frmSearch" ACTION="QueryIndexServer.asp" METHOD="POST">

Search For: <INPUT TYPE="TEXT" NAME="txtSearchFor">

<P>

<INPUT TYPE="SUBMIT" VALUE="Perform Search">

<INPUT TYPE="RESET" VALUE="Clear Form">

</FORM>



</BODY>

</HTML>

2、QueryIndexServer.asp

<TITLE>The Indexing Service</TITLE>

<STYLE TYPE="text/css">

BODY {font-family:Tahoma,Arial,sans-serif; font-size:10pt}

.heading {font-family:Tahoma,Arial,sans-serif; font-size:14pt; font-weight:bold}

.cite {font-family:Tahoma,Arial,sans-serif; font-size:8pt}

.document {font-size:10pt; font-weight:bold; background-color:lightgrey; width:100%}

</STYLE>

</HEAD>

<BODY BGCOLOR="#FFFFFF">

<SPAN CLASS="heading">Results of search for

<I><%=Request.Form("txtSearchFor")%></I>

</SPAN><HR>

<!--------------------------------------------------------------------------->



<%



Dim strSearch



Set rsSearch = Server.CreateObject("ADODB.Recordset")



' create the connection string

strConn = "Provider=MSIDXS; Data Source=web"



' construct the search string

strSearch = "SELECT DocTitle, Path, FileName, Characterization, Size,write" & _

" FROM SCOPE()" & _

" WHERE CONTAINS ('" & Request.Form("txtSearchFor") & "')"



' open the recordset on the search

rsSearch.Open strSearch,strConn



' show what's been searched for

While Not rsSearch.EOF

Response.Write "<SPAN CLASS='document'>" & rsSearch("DocTitle") & "</SPAN><BR>" & _

rsSearch("Characterization") & "<BR>" & _

"<A HREF='" & rsSearch("Path") & "'>" & rsSearch("write") & "</A>" & _

" (" & rsSearch("Size") & " bytes)<P>"

rsSearch.MoveNext

Wend



' tidy up

rsSearch.Close

Set rsSearch = Nothing

%>





</BODY>

</HTML>

采用默认的web索引!

#2


好!顶!

#3


学习