国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

用ASP實現對Web搜索引擎Index Server的訪問

2019-11-18 20:37:30
字體:
來源:轉載
供稿:網友
摘要:Index Server是專門為企業Web網站設計的專業搜索引擎,傳統的訪問方法HTML/IDQ/HTX由于固有的特性,缺乏靈活性。本文介紹用asp實現對Index Server訪問的兩種方法,以及如何實現復雜查詢,和對查詢結果的控制。 
關鍵字:Index Server ASP ADO 

在電子商務方興未艾的今天,企業上網不但是為了展示企業形象,提高知名度;也意味著無窮的商機與財富。而內部網Intranet則為企業帶來了全新的溝通方式和管理理念。因此構建企業Web站點已經排上了許多企業信息部門的日程。Web的優點在于可以方便的展示大量信息,但同時也帶來了信息的泛濫使得尋找有效信息非常困難。為此,好的企業網站都擁有強大的搜索引擎,使得網站更加友好和便利。對于有政策法規、合同定單等大量文檔上網的企業網站,信息搜索的服務必不可少。 
Index Server是專門為企業網站設計的專業搜索引擎,利用它可以非常輕松的在網站中加入功能強大的信息搜索功能。并且Index Server搜索的文件不局限于HTML格式,還支持TXT、DOC、EXL、RTF、GIF、JPEG等多種文件格式,并可以通過插入第三方插件來支持更多的文件格式。搜索范圍可以是存放在本地服務器中的內容,也可以是網絡中其他機器的共享資源,包括INTERNET中的資源。搜索時除了文檔中的關鍵字詞以外,還可以就文件大小、修改日期、作者等屬性進行搜索。此外Index Server還支持英文、簡體中文、德語、法語、日語等語種,無須編程,就可在網站中實現多語種的搜索引擎。由于Index Server是零維護設計,故只需啟動Index Server服務,搜索引擎就會自動運行。而在Web服務器端,需要加入與Index Server連接的頁面。 
傳統Index Server的工作過程由瀏覽器通過HTML文檔的FORM表單向Web服務器發出請求開始,Web服務器通過一個類似于數據庫接口的專用文件.IDQ與Index Server連接,將客戶的請求轉換成Index Server理解的語句。Index Server再將查詢結果按照模板文件HTX定義的格式組織成HTML文檔,通過Web服務器返回給瀏覽器。這種方式稱為HTML/IDQ/HTX方式,需要三個文件配合完成查詢。使用這種方式不能對查詢結果進行處理,并且模板文件HTX格式單一。因此微軟在Index Server 2.0 中加入了對Active Server Scripts的支持,用一個ASP文件替代先前的三個文件。由于ASP有靈活且功能強大的腳本語言操縱,因此Web開發者可以設計條件復雜的查詢,并能更加精確的處理查詢結果。 

圖1.ASP訪問Index Server工作過程 
熟悉Index Server 1.0 或 1.1版本的用戶,可以在ASP文件中使用Index Server query object,對象參數和查詢語句都和傳統的.IDQ文件保持一致。此外,還可以利用ADO 技術創建對象,用標準數據庫查詢語言Structured Query Language (SQL)語句定義查詢。兩種對象都以ADO記錄集(Recordsets)的形式返回結果。因此對于數據庫Recordset操作的代碼可以直接用于查詢結果。 
ASP文件要完成查詢,首先要在文件中定義一個表單用于接收查詢要求,表單的動作指向ASP文件本身。本例中用名為SearchString的文本框接收查詢字段。 
eg.1 在sample .asp文件中定義查詢表單 

<FORM ACTION = "sample .asp" METHOD="GET"> 
<TABLE > 
<TR> 
<TD>輸入欲搜索關鍵詞:</TD> 
</TR> 
<TR> 
<TD><INPUT TYPE="TEXT" NAME="SearchString" SIZE="40" VALUE=""></TD> 
<TD><INPUT TYPE="SUBMIT" VALUE="GO"></TD> 
</TR> 
</TABLE> 


接下來在ASP文件中建立Index Server 查詢對象,并為Index Server 參數賦值。 
方法1.利用Index Server query object和參數 

<% 
Set Q= Sever.CreatObject(“ixsso.Query”) ‘創建查詢對象 
Set Util= Sever.CreatObject(“ixsso.Util”) 
Q.Query= Request(“SearchString”) ‘查詢字段 
Q.SortBy=”rank[d]” ‘按照符合程度降序排列 
Q.Columns=”DocTitle,vpath,filename,size,write,characterization,rank” 
‘返回記錄屬性 
Q.MaxRecords=300 ‘最多返回記錄數 
Util.AddScopeToQuery Q,”/”,”DEEP” ‘搜索所有子目錄 
Q.LocaleID=Util.ISOToLocaleID(“ZH-CN”) ‘指定所用語言為簡體中文 
Set RS = Q.CreateRecordSet("nonsequential") ‘創建輸出集 
%> 

方法2.利用ADO query object和SQL語句 

<% 
Set Conn = Server.CreateObject("ADODB.Connection") 
Conn.ConnectionString = "RS.open AdoCommand 
%> 

創建包括文件大小、作者等屬性的復雜條件的查詢,可在表單中加入輸入相應限定條件的域,如圖2所示。 

圖2.帶限定條件的復雜查詢表單 
提交表單后各值由Query語句接收,如以下一個Query語句: 
Q. Query=“ (@DocAuthor ”+ DocAuthorRestriction +“) & (@Write >” + 
FMModDate + “) & (@Size ”+ FSRest + FSRestVal +“) & @Contenets”+ 
SearchString 

其中,DocAuthorRestriction、FMModDate、FSRest、FSRestVal、SearchString分別代表瀏覽器端輸入的作者、修改時間、比較符號、比較大小和關鍵字詞等值。此外Index Server還支持自然語言查詢(Free Text Queries),如可輸入語句:“怎樣使用Index Server管理工具?”。并在Query字段中添加標記$ Contenets。Index Server將進行語法分析,自動生成查詢語句。 
如前所述,兩種查詢對象返回的結果都是ADO記錄集(Recordsets),因此可以用數據指針來操作輸出。 
eg.2 在sample .asp文件中定義輸出格式 

<% if Not RS.EOF %> 
<table border=0> 
<colgroup width=105> 
<% end if %> 

<% Do While Not RS.EOF %> 
<tr> 
<td valign=top > 
<a href="<%=RS("vpath")%>" ><%= Server.HTMLEncode( RS("filename") )%> 
</a></td> 
<td valign=top> 
<%if VarType(RS("characterization")) = 8 and RS("characterization") <> "" then%> 
<b><I>摘要 </I></b><%= Server.HTMLEncode(RS("characterization"))%> 
<%end if%> 
<p><a href="<%=RS("vpath")%>" >http://<%=Request("server_name")%> 
<%=RS("vpath")%></a></p> 
</td> 
</tr> 
<% 
RS.MoveNext 
Loop 
%> 
</table> 

根據需要,還可以輸出作者、文件大小、創建時間等屬性。比較常見的還有把文件符合查詢的程度劃分為五個級別,分別用不同數目的星圖標識,這是傳統的HTX文檔無法實現的功能。 
結合ASP和 Index Server,我們可以開發出功能強大的搜索引擎應用。實施簡單方便,沒有特殊的編程要求,并且搜索的速度和準確度也比較理想,非常適合企業級Web網站采納。 



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 安岳县| 牟定县| 海城市| 土默特左旗| 贺州市| 左权县| 朝阳市| 丰都县| 都匀市| 石河子市| 冕宁县| 彩票| 德保县| 扬中市| 阿鲁科尔沁旗| 镇巴县| 乌拉特后旗| 门头沟区| 随州市| 叙永县| 阿克苏市| 博客| 平罗县| 克东县| 唐河县| 临清市| 宁远县| 岑溪市| 北碚区| 比如县| 简阳市| 海淀区| 西安市| 九江市| 博客| 高邑县| 天水市| 南昌县| 锦屏县| 定边县| 灵山县|