999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于JAVA技術的搜索引擎的研究與實現

2012-07-13 03:07:46殷鋒社
電子設計工程 2012年7期
關鍵詞:搜索引擎頁面方法

焦 蕾,殷鋒社

(陜西工業職業技術學院 陜西 咸陽 712000)

搜索引擎一詞在國內外因特網領域被廣泛使用,然而他的含義卻不盡相同。在美國搜索引擎通常指的是基于因特網的搜索引擎,他們通過網絡機器人程序收集上千萬到幾億個網頁,并且每一個詞都被搜索引擎索引,也就是我們說的全文檢索。著名的因特網搜索引擎包括 FirstSearch、Google、HotBot等。在中國,搜索引擎通常指基于網站目錄的搜索服務或是特定網站的搜索服務。

搜索引擎是根據用戶的查詢請求,按照一定算法從索引數據中查找返回給用戶。為了保證用戶查找的精度和新鮮度,搜索引擎需要建立并維護一個龐大的索引數據庫。一般的搜索引擎由網絡機器人程序、索引與搜索程序、索引數據庫等部分組成。

1 搜索引擎工具實施的影響因素

為了企業的生存、發展,企業必須以市場環境作支撐,不論依靠傳統營銷模式,還是依靠搜索引擎營銷模式,只要企業考慮營銷就不得不從宏觀環境、微觀環境兩個方面來考慮營銷戰略實施的影響因素[1],如圖1所示。

在整個宏觀環境中,企業營銷過程中首要監視的第一個因素應該是人口,因為市場是由人組成的。其次是與人口因素密切相關的經濟環境因素,因為市場不僅需要人口,還需要購買力。再者就是人們賴以成長和生活的社會形成了人們的基本信仰、價值觀念和生活準則的社會文化環境。接下來是決定搜索引擎營銷模式是否存在的技術環境,最后是具有政策導向的政治法律環境。這些因素都是不可控制的,但企業必須監視這些因素的動態并對此作出反應。

圖1 搜索引擎營銷實施影響因素Fig.1 Influence factors of the implementation of search engine marketing

相對于宏觀環境,企業在微觀環境下更能發揮其主動性。對于那些決定利用搜索引擎進行營銷的企業來說,競爭對手、搜索引擎供應商、瀏覽者、搜索引擎營銷中介是他們在得到目標客戶之前必須考慮的,因為它們影響著其營銷策略的制定及實施。

2 搜索引擎的搜索效果優化

搜索引擎優化[3]簡稱SEO,與搜索引擎定位、搜索引擎排名是同一種工作,指通過對各類搜索引擎如何抓取互聯網頁面,如何進行索引以及如何確定其對某一特定關鍵字的搜索結果排名等技術的了解,對網站進行優化,最終提升網站曝光率的一項技術。

2.1 網站結構優化

目前一些企業網站結構基本由首頁、公司簡介、產品信息、招聘信息、聯系信息等組成。這樣的網站結構基本上是把網站當作電子化的宣傳冊,并沒有充分發揮網絡的互動性。為了彌補這種缺陷,可以對企業網站進行結構優化。

2.2 網站內部鏈接優化

網站內部結構如同企業中的各個職能部門,只有保持部門間的信息傳遞渠道暢通、彼此之間協調運作,才會提高整個企業的運營效率。為了提高網站內部之間的相互關聯度,需要利用網站內部鏈接優化[4]技術,與此同時,加上一個FAQ欄目,這是因為企業通過網站在宣傳產品的過程中,會遇到一些比較常見的問題,企業如果能夠預先想到這樣一些問題及其解答,并做成一個專門的頁面,這不僅有利于訪問者了解企業的產品、促成業務合作,同時也為企業避免了人力資源的浪費。

2.3 網頁標題優化

搜索引擎檢索結果的主要部分就是網頁的標題和圍繞檢索關鍵字選取的部分正文,Ifu網站標題也是瀏覽者判斷目標信息相關與否的關鍵所在,因此,網頁標題對于搜索引擎至關重要,是網頁優化的重要內容,必須仔細選擇網頁的標題。一般來說,應該遵循以下原則[5]。

首先,不同內容的網頁選擇不同的標題。不要將網站所有頁面設成同一個標題,網頁標題應該圍繞該頁的內容進行編排,盡量反映該頁的主題內容。這樣可以提高瀏覽者檢索到信息與查詢條件的匹配度,增強瀏覽者對網站的信任度;同時,也保證了搜索引擎在網站上獲取信息的質量,根據Google的相關度得分法,這樣的網站會得一個好的分數,可以增加該網站的排名級別。另外,為了保證整個網站頁面不同標題的統一性及提高企業在網站上可識別性,可以在不同頁面的標題中加入統一的稱謂。

其次,在標題中出現關鍵字。在標題中出現關鍵字主要是為了提升搜索引擎檢索結果的排名。強調在主要網頁標題中設置盡可能豐富的關鍵字。

3 搜索引擎的軟件實現

利用Java技術對搜索引擎的3個主要部件 (網絡蜘蛛、索引器、搜索器)做了實現,能完成搜索引擎的基本功能。下面對在系統設計中用到的技術及具體的實現技術逐一進行介紹。

3.1 軟件開發環境

在實現搜索引擎的時候用到了以下幾個軟件:

1)Java 2 Platform Standard Edition 5.0(Java程序開發包)

下載地址:http :l’ava.sun.com/j2se/1.5.0/download.}sp

2)Lucene 1.4.3(實現索引和搜索的Java類庫)

下載地址:http:/lapache.}ustdn.org/luceneJaavaL

3)Tomcat 5.5(Servlet/JSP 容器)

下載地址:http:LLtomcat.apache.org/download-SS.cgi

上述3個程序包在相關的網頁上均有詳細的安裝及使用方法,在此不再贅述。現主要對在實現搜索引擎是用到的相關Java技術做一簡要介紹。

3.1.1 Java的Internet連接技術

網絡蜘蛛為了抓取網頁,首先要能夠跟Web服務器通信,進行網頁的下載。Java提供了許多支持Internet連接的類。一種是套接字類,另一種是與URL地址一起工作的URL類。

1)使用套接字類

網絡上的每一臺計算機都有很多套接字輔助計算機程序生效,這些套接字叫端口,它們都編了號。在任一臺計算機上,服務器程序必須指定端口號用于“傾聽”每個連接,而客戶端程序必須指定端口號用于請求連接。多個客戶端能夠連接到同一個服務器端口,但是,每一時刻只有一個服務器程序能偵聽同樣的服務器端口。HTTP的默認端口為80,是一個非常重要的端口。

2)使用 URL 類

URL類允許解析URL,或者是將其拆成各個組成部分。一旦為指定的URL創建了一個URL對象,就很容易將該URL解析成主機名和路徑。URL類還具有打開某個地址連接的能力,以及從該URL檢索信息的能力。

3.1.2 Java中的中文處理

程序的開發過程中,在網頁抓取、索引、搜索結果輸出這幾個部分都遇到了漢字亂碼的現象,經過分析發現問題主要出現在字符編碼上。目前Java已經能夠很好的支持漢字,但前提是正確設置編碼方式。

3.1.3 Java的多線程機制

本研究使用丁酸鈉干預,結果顯示,丁酸鈉組SD大鼠放療后,放射性腸損傷動物模型成功率只有83.3%,顯著低于模型組的100%成功率,提示丁酸鈉有可能發揮保護腸黏膜的功能。賴衍宗等[8]在結腸炎的小鼠模型中發現丁酸鈉通過促進Th1/Th2/Th17類細胞因子平衡,減輕模型小鼠腸黏膜的損傷發揮治療作用。本研究的腸黏膜形態學檢測顯示,丁酸鈉組黏膜絨毛高度和黏膜厚度顯著高于模型組,也證明丁酸鈉可以保護放射治療導致的腸損傷。

網頁抓取、索引、搜索都應以多線程的機制運行,這樣能大幅地提供工作效率。一個線程的工作是在后臺執行程序的一些部分,而程序的其它部分能夠繼續運行。當用Java建立一個線程時,必須明確指出后臺執行的代碼,此代碼包含在Java線程的run方法中。Java通過兩種方法操作多線程。

執行多線程的第一種方法是繼承Thread對象,Java用Thread對象來封裝線程,通過覆蓋Thread類的run方法來為特定線程提供代碼。由于Java不支持多繼承,當一個類需要繼承其它類時,此種方法就不適用。執行多線程的第二種方式是執行由Java提供的Runnable接口,并在本類中建立一個:un方法。由于Java可以執行多個接口,所以它沒有第一種方法的限制.下面對上述兩種方法做一個簡要介紹:

1)繼承 Thread類

通過Java的extends關鍵字直接繼承Thread類來建立一個線程,這種方式允許你建立一個自包含線程對象,也就是說此對象中不僅包含run方法而且包含控制run方法執行的其它方法。示列如下:

2)執行 Runnable接口

Java建立線程的第二種方法是執行Runnable接口,Java接口本身不做實際的工作,它僅定義完成工作的方法的原型。當執行一個接口時必須包含此接口的方法,對Runnable接口來說要包含run方法的代碼。如下代碼完成與上列相同的功能,Runnable接口用于代替Thread類。

3.1.4 JDBC應用

如果網絡蜘蛛要訪問大量的網站,就必須有一種有效的方式來存儲驅動Web Spider的站點隊列。這些隊列用來管理Web Spider必須維護的大量的網頁列表。為了管理如此大的列表需要用到DBMS(Database Management System)。在Java中使用 JDBC<Java Database Connectivity)提交 SQL(Structured Query Language)命令來操作數據庫。

3.2 網絡蜘蛛的實現

利用Java構建Spider程序是一個非常不錯的選擇,Java對HTTP協議具有內建的支持,而WEB上的信息大部分都是通過HTTP進行傳輸的。同時Java還具有一個內建的HTML解析器,在編寫Web Spider程序的過程中構造了幾個相關的接口和類下面逐一對其進行介紹。

1)Spider類

Spider類有3個作用。首先它作為Spider的接口提供了使用Spider的方法;此外,Spider對象管理線程池并且向啟動Spider的對象報告Spider發現的頁面。最后,確定Spider的工作何時完成也是Spider。Spider類允許兩個附加的類來定制化Spider的操作,這兩個類由ISpiderReportable和IWorkload Storable兩個接口定義。

2)ISpiderReportable接口

ISpiderReportable接口定義T幾類事件,Spider將這些事件送回到它的控制器,在控制器中再定義對這些事件的處理方法。執行ISpiderReportable接口的類取回Spider找到的頁面,然后對這些頁面進行處理。

3)IWorkloadStoralbe接口

這個接口用于定制化Spider的行為。Spider的一個主要任務是組織要訪問的站點的列表,這些列表被稱為作業(workload)。這個接口定義一個對象,它能從作業中存儲和取回頁面。

4)SpiderWorker類

Spider程序下載Web站點并將頁面上的鏈接添加到作業中,這個基本任務由SpiderWorker來完成。Spider程序啟動的時候,建立一個SpiderWorker類池,相當于一個線程池,每個線程同時處理Spider找到的頁面。

5)SpiderDone 類

由于有多個同步運行的線程,所以很難知道什么時候Spider的工作已經完成。這樣就需要一個對象來跟蹤還在運行的線程的數量,當數量變為零時就意味著Spider的工作結束。SpiderDone類就是為此目的而引入的。

3.3 利用Lucene實現索引和搜索

Lucene[6]是一個高性能,易于擴展的 IR<Information Retrieval)Java類庫,可以利用其中的Java類輕松地在應用程序中增加索引和搜索功能。Lucene完全用Java實現,具有良好的跨平臺性,是ApacheJakarta項目中的一個子項目。

Lucene允許添加索引和搜索功能到應用程序中,它能索引并搜索任意能轉換為文本格式的數據,Lucene并不關心數據的來源、格式、甚至它的語言,只要它能轉換成文本。遠程WEB服務器上的Web頁面,存放在本地文件系統中的文檔,簡單文本文件,MS-Word文檔,HTML或PDF文件,以至于其它任何能夠抽取出文本信息的文件格式。同時Lucene能夠索引存儲在數據庫中的數據,給予用戶許多數據庫都不能提供的全文檢索功能。

Lucene[7]提供了一些核心類用于在應用程序中增加索引和搜索功能。Lucene的API接口設計的比較通用,輸入輸出結構都很像數據庫的表今記錄今字段,所以很多傳統應用的文件、數據庫等都可以比較方便的映射到Lucene的存儲結構/接口中。總體上看可以把Lucene當成一個支持全文索引的數據庫系統。

4 結束語

由于許多技術型搜索引擎頻繁地改變其算法以保持公平性,造成其搜索結果排名順序經常變動,因此企業要不斷的跟蹤這類搜索引擎的技術變化,及時作出相應的調整,以保持自己在搜索引擎中的優勢地位。

雖然對搜索引擎的基本功能進行了實現,但還存在許多的不足,只能用作理論研究,離實用還有很長的距離。文中構建的網絡蜘蛛程序利用隊列和多線程機制,具有較高的效率,但只能抓取簡單的HTML頁面[8],對由JSP,ASP等生成的動態頁面還顯得無能為力,也不支持CSS (Cascading Style Sheets,層疊樣式表)頁面等等。在索引部分因為借用了Lucene軟件包中的一個HTML解析器,雖然經過改進能較好地支持中文,但在索引時還是會經常報錯,主要是這個HTML解析器只支持HTML的一個子集。

[1]土淡.搜索引擎營銷研究及“ED”公司搜索引擎營銷實施[D].成都:電子科技大學,2001.

[2]喬冬梅.搜索引擎現狀與發展研究 [D].鄭州:鄭州大學,2002.

[3]劉建元.我國中小企業網絡營銷策略[D].長沙:中南林學院,2002.

[4]王正平.現代企業網絡營銷策略思考[D].武漢:華中師范大學,2001.

[5]Rusty E,Harold.Java Network Programming,3rdEdition[M].O’Reillv,2004.

[6]Java2 Platform Standard Edition 5.0 API Specification[M].Sun Microsystems,2004.

[7]吳代文,郭軍軍.基于Lucene站內全文檢索系統的設計與實現[J].現代電子技術,2011(6):42-44,48.

WU Dai-wen,Guo Jun-jun.Design and implemention of fulltext retrieval system in website based on Lucene[J].Modern Electronics Technique,2011(6):42-44,48.

[8]張俊蘭,都欣娟.基于ASP技術的數據庫連接應用探討[J].電子科技,2010(8):115-117.

ZHANG Jun-lan,DU Xin-juan.Application ofdatabase connection based on ASP[J].Electronic Science and Technology,2010(8):115-117.

猜你喜歡
搜索引擎頁面方法
大狗熊在睡覺
刷新生活的頁面
保健醫苑(2022年1期)2022-08-30 08:39:14
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
網絡搜索引擎亟待規范
中國衛生(2015年12期)2015-11-10 05:13:38
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
捕魚
基于Nutch的醫療搜索引擎的研究與開發
廣告主與搜索引擎的雙向博弈分析
同一Word文檔 縱橫頁面并存
淺析ASP.NET頁面導航技術
主站蜘蛛池模板: 91久久国产综合精品| 另类欧美日韩| 亚洲免费福利视频| 国产va免费精品| 亚洲精品在线观看91| 精品久久久久成人码免费动漫| 免费人欧美成又黄又爽的视频| 91久久国产综合精品女同我| 久久亚洲国产视频| 国产在线啪| 久久综合九色综合97网| 91破解版在线亚洲| 国产精品污污在线观看网站 | 动漫精品啪啪一区二区三区| 无码有码中文字幕| 免费无遮挡AV| YW尤物AV无码国产在线观看| 无遮挡国产高潮视频免费观看| 日本免费精品| 精品国产女同疯狂摩擦2| 欧美国产在线精品17p| 亚洲免费毛片| 专干老肥熟女视频网站| 日本欧美成人免费| 国产成人免费视频精品一区二区| 日韩第一页在线| 亚洲性日韩精品一区二区| 999国产精品| a毛片免费观看| 国产视频自拍一区| 五月婷婷欧美| 小蝌蚪亚洲精品国产| 波多野结衣久久高清免费| 在线视频精品一区| 亚洲综合天堂网| 中文字幕在线播放不卡| 久久久久亚洲av成人网人人软件| 精品综合久久久久久97超人| 丁香五月婷婷激情基地| 日韩福利视频导航| 成AV人片一区二区三区久久| a毛片基地免费大全| 777午夜精品电影免费看| 亚洲最黄视频| AV无码一区二区三区四区| 亚洲中文字幕97久久精品少妇| 亚洲黄色成人| 亚洲天堂伊人| 免费a级毛片18以上观看精品| 亚洲无线一二三四区男男| 97se亚洲综合在线天天| 久久午夜夜伦鲁鲁片不卡| 88av在线| 综合五月天网| 在线日韩日本国产亚洲| 久久网欧美| 在线精品欧美日韩| 人妖无码第一页| 一本大道香蕉中文日本不卡高清二区| 91小视频在线观看| 日韩123欧美字幕| 手机精品福利在线观看| 国产剧情无码视频在线观看| 欧美成人看片一区二区三区| 乱人伦中文视频在线观看免费| 毛片在线区| 亚洲手机在线| 久久国产精品夜色| 国产真实自在自线免费精品| 中文无码毛片又爽又刺激| 成年午夜精品久久精品| 在线va视频| 谁有在线观看日韩亚洲最新视频| 成人久久精品一区二区三区| 激情無極限的亚洲一区免费| 欧美五月婷婷| 亚洲精品中文字幕无乱码| 91视频99| 制服丝袜亚洲| 亚洲侵犯无码网址在线观看| 色偷偷一区| 亚洲人成网站在线播放2019|