朱丹丹
摘要:近些年,我國經濟水平的突飛猛進,使得計算機互聯網的應用已經逐步普及。而在互聯網的應用中,搜索引擎是人們經常會用到的工具,它可以方便快捷的讓用戶直接找到自己需要的東西。相比之下,以往的搜索引擎在服務和構架上已經逐漸成熟起來,但是隨著互聯網用戶的增多,相應的,用戶對搜索引擎的要求和體驗感等各方面的水平也是更加嚴格。Java技術的搜索引擎是順應時代所誕生的一種智能化搜素模式。該文就Java技術的搜索引擎進行了淺要的研究與實現探討,以作參考。
關鍵詞: Java;搜索引擎;技術體系;網絡蜘蛛
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2016)12-0094-02
互聯網上面的信息就如浩瀚宇宙中的繁星點點般,數不勝數,且非常雜亂,是毫無秩序可言的,通過網頁鏈接將這些數據連接起來,而搜索引擎就將這些雜亂的數據理清,從中呈現給用戶想要的具體信息。簡單來說,搜索引擎就相當于一個數據庫的存在,可以自動從互聯網上搜集信息,把信息進行一定的整理以后,再讓用戶進行查詢的這么一個系統。隨著科技的發展,目前以Java技術的搜索引擎已經成為電子計算機的新寵,可以帶給用戶更深層次的體驗,所以對于Java技術的搜索引擎進行相關研究與探討還是很有必要的。
1 Java技術的概述
Java技術擁有良好的兼容性,這點是其他匯編語言所無法比較的,并且Java技術還具有良好的通用性和安全性[5]。調查發現,Java技術設有安全機制,能夠有效的遏制某些代碼的惡劣攻擊,從而起到保護環境安全的作用,因此其安全性相對較高;Java技術主要是面向以支持類之間的單向繼承的對象,可以在多個接口下實現多出承接,因此Java技術具備很強的強制性;Java技術十分動態化,可以依據動態環境的變化而做出相應的調整,大大提高了Java技術在軟件和系統上的兼容性;Java技術的多線程在給了其應用以及系統性能的更多保障外,也增強了兩者的性能,從而更優質、更高質量的服務到軟件開發者和軟件使用人。
2搜索引擎的搜索效果優化方式
搜索引擎優化簡稱為SEO,是各種搜索引擎怎么抓住互聯網的界面,然后予以索引,并且對其中某個特定關鍵字或詞的搜索結果以及排名技術的一種了解。[6]通過SEO這種搜索引擎的營銷思路,提供給網站生態式自我營銷方案,從而有效的優化網站,讓網站成為行業的佼佼者,提升網站排名和曝光率。
1)內部鏈接優化
網站的內部就好比企業單位一樣,其分工較細且各不相同,為了網站的協調性更好,必須保持各種不同信息傳遞渠道的良好暢通和更加合理的運作方式。因此,就需要將網站內部的不同部門,通過良好的方式有效關聯起來,這就離不開網絡優化技術的運用。企業在對自身生產的產品作介紹時,總是會面臨各種各樣的問題,這時單位就應該在網站建設前預想到這些問題,然后解答這些問題并且建立一個專門的界面,在界面中加入一個搜索框。這種方法不僅解放了公司的人力,更是方便了訪問網站的人更好了解企業產品、從而促進與企業的業務合作。
2)網站標題優化
網頁的標題對于搜索引擎在搜索企業產品的網頁過程中起著重要作用。網頁標題的關鍵字是對搜索引擎的一種引領,搜索引擎會根據網頁標題的關鍵字對網頁內容做預判。不僅如此,就算用戶只是普通、隨意的瀏覽網頁,網頁標題在很大程度上都可以吸引用戶的注意力。網頁搜索中的網頁標題是對網頁進行優化的一個重要內容,其密切關系著用戶的搜索結果。想要更好地完成網頁標題優化,就得足夠重視到網頁建設過程中的網頁標題,并且能夠依據網站頁面設置的不同而選擇相對應的網站標題,而不是在所有網站中都應用一個標題。在同一個網站中,網站標題也應具有一定的差異性,層次結構美觀、標題內容主次分明,標題內容的選擇也一定要與網站內容密切掛鉤,可以更準確地反映出網頁內容。這種方式可以讓搜索引擎的搜素結果更加精確,有效提高網頁檢索結果與實際瀏覽內容的匹配程度,能讓用戶對網站的標題和內容給以更多信任和關注。同時還可以試著對網站頁面的部分關鍵詞做一個統一化設定,讓企業的網站在互聯網這個浩瀚宇宙中能給用戶更好的識別性。
3)網站結構優化
目前市場上的企業網站構成基本是:首頁、公司簡介、產品、產品詳細信息、招聘信息以及聯系方式這些方面,從某些方面來說,這也是企業的一種宣傳手段,但是與用戶的互動性卻明顯不夠,所以應該對企業網站作進一步的優化。
3 Java技術搜索引擎的實現
3.1 網絡開發的環境
網絡蜘蛛、索引器和搜索器這三方面直接關乎Java技術搜索引擎的實現,其對搜索引擎基本功能的完善也起著一定作用[2]。因此,就從以下幾個方面入手來研究對于Java技術搜索引擎的實現需要具備哪些方面的因素。
1)套接字類
把網絡蜘蛛運用到Java技術互聯網的連接中能夠有效做好網頁抓取工作,把它和Web服務器通信進行連接,然后通過網頁完成下載。Java技術可以提供多種互聯網連接類,一般的連接類中,一種是套接字類,套接字類應用在所有連接網絡的計算機中,以方便促使計算機程序生效。通常網頁中使用的每臺計算機都有套接字,,這些套接字被稱為端口,且有相應的編號,在每臺計算機中,服務器都會對某一端口號進行連接工作,包括其中的客戶端也是,都要通過某一端口號進行連接。套接字類中的重要組成部分有Socket以及Server Socker,客戶端中所用到的Socket類通常用于客戶端套接字的聲明,而Server Socker則是用在服務端套接字聲明,以此形成一個點到點的連接。
2)URL類
另一種則是和URL連接在一起的URL類,URL類的應用,主要是為了解析URL,URL類還能被拆分成幾個部分,確定好URL的創建對象后,就能夠完成主機名以及路徑解析,并且URL類還能夠連接開啟某些地址,從而在URL中獲得相應的檢索能力。
3)Java技術中文處理
程序開發時,常常會發生漢字亂碼的情況,且被網頁抓取、索引以及搜索。這種問題的發生多半都是字符編碼出了差錯。在事先設置好正確編碼后,Java技術便能夠做好漢字支持工作。漢字屬于雙字節,也被稱為高位和低位,我國的漢字編碼被規定為GB2312,現在的中文處理軟件都支持GB2312。GB2312里有9個區的符號和一二級漢字之分,并且不管高低位都是從OXal到OXfe,漢字的編碼范圍則是從OXboal到OXf7fe。
4)Java多線層機制
Java多線程機制可以充分幫助到網頁抓取、索引及搜索工作效率的提升,線程是后臺執行程序的一部分,程序其他的部分依然可以繼續運行,因此,若是要建立Java技術線程的前提是必須明確后臺執行代碼,這就需要通過兩種辦法。
① 確定繼承好Thread對象并用其完成封裝線程工作,通過Thread類的run制定出我們所需要的線程代碼,但是Java并不支持多繼承,當其中的某個類需要繼承其他類時,此種方法就難以被運用。
②依據Java確定好Runnbale接口,并在接口中建立好run方法,Java支持多接口的同時運行,便不會受到第一種方法的限制。Java的接口在程序運行時會根據自定義的方法實現我們所需要的工作方法。因此,當接口執行時,其中須得存在相對應的方法。
5)JDBC的應用
通過DBMS完成維護好網頁列表工作,用合理的方式驅動站點隊列,就能大量提升網絡蜘蛛訪問網站的量,用JDBS做好SQL的提交工作,這樣可方便用命令的形式操控數據庫。但是在進行操作時,就需要通過importa jva.sql.*導入好語句,然后連接對象,其連接對象直接關系到DBMS,這是最高層次的環節。接下來就是確定statemnet對象,它是相對獨立的SQL語句,屬連接對象。
3.2 網絡蜘蛛的實現
網絡蜘蛛程序的編寫離不開接口和類的構建,網絡蜘蛛的程序里有三個類和兩個接口[4]。
1)Spider類
Spider類一共有三個作用,首先,Spider類所為Spider的接口提供了如何使用Spider的方法;其次,向啟動Spider的對象報告Spider發現的界面;最后,確定好Spider的工作進度,Spider類允許將Spider的操作用兩個附加的類定制化。分別是由ISpiderReportable以及IWorkloadStorable這兩個接口定義以上的兩個附加類[1]。
2) ISpiderReportable接口
Spider把由ISpiderReportable接口定義的幾類時間送回它的控制器,然后在控制器中再對這些進行處理。想要對這些頁面做處理,就需要執行ISpiderReportable接口的類,然后取回Spider找到的頁面。
3)IWorkloadStorable接口
Spider組織要訪問的站點的列表,此接口定義一個對象,可以存儲或者取回作業中的頁面。IWorkloadStorable接口就是用于定制化Spider行為。
4)SpiderWorker類
Spider程序下載Web站點,然后把頁面上的鏈接添加到作業中,這便是由SpiderWorker完成的,當啟動Spider程序時,就會建立出一個相當于線程池的SpiderWorker類池,Spider找到的畫面由每個線程同時處理。
5)SpiderDone類
SpiderDone類的目的就在于,想要知道在多個線程同步運行的情況下,Spider工作的完成度有些困難,這時可用一個對象對還在運行的線程數量進行跟蹤,數量如果變為零了,也就代表著Spider工作的結束。
3.3 Lucene的實現
Lucene可以通過Java類有效完成應用程度里需要的各種索引以及搜索,Lucene是一種性能較高,且擴展方便的Java類庫,將Lucene與Java技術相結合,能夠很好地進行跨平臺操作。
4 結束語
綜上所述,目前,我國互聯網的發展已經日趨成熟,而搜索引擎是互聯網的重要組成部分,其對于用戶更好的體驗、使用互聯網起著關鍵作用。Java為搜索引擎提供了很重要的技術支持,Java技術搜索引擎也必然會成為未來互聯網的搜索引領。文中對Java技術的搜索引擎的基本理念和功能以及在其實現上做了簡要分析與研究。而如何將這一技術更好地運用到網絡世界中,給用戶帶去更優質的體驗和服務,都還需要進一步的探討與實踐。
參考文獻:
[1] 焦蕾,殷鋒社.基于JAVA技術的搜索引擎的研究與實現[J].電子設計工程,2012(7):34-37.
[2] 徐英.基于Java技術的搜索引擎研究與實現[J].信息與電腦:理論版,2014(9):20-21.
[3] 伏漢英,黃永忠,陳新,等.一種基于Java的元搜索引擎的設計與實現[J].信息工程大學學報,2004(4):42-45.
[4] 羅忠琦.Java技術的搜索引擎研究與實現[J].信息通信,2016(1):144-145.
[5] 楊金.基于JAVA技術的搜索引擎研究[J].中國新通信,2015(13):110.