国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Java技術(shù)的搜索引擎研究與實(shí)現(xiàn)探討

2016-06-14 23:53朱丹丹
電腦知識(shí)與技術(shù) 2016年12期
關(guān)鍵詞:技術(shù)體系搜索引擎

朱丹丹

摘要:近些年,我國經(jīng)濟(jì)水平的突飛猛進(jìn),使得計(jì)算機(jī)互聯(lián)網(wǎng)的應(yīng)用已經(jīng)逐步普及。而在互聯(lián)網(wǎng)的應(yīng)用中,搜索引擎是人們經(jīng)常會(huì)用到的工具,它可以方便快捷的讓用戶直接找到自己需要的東西。相比之下,以往的搜索引擎在服務(wù)和構(gòu)架上已經(jīng)逐漸成熟起來,但是隨著互聯(lián)網(wǎng)用戶的增多,相應(yīng)的,用戶對(duì)搜索引擎的要求和體驗(yàn)感等各方面的水平也是更加嚴(yán)格。Java技術(shù)的搜索引擎是順應(yīng)時(shí)代所誕生的一種智能化搜素模式。該文就Java技術(shù)的搜索引擎進(jìn)行了淺要的研究與實(shí)現(xiàn)探討,以作參考。

關(guān)鍵詞: Java;搜索引擎;技術(shù)體系;網(wǎng)絡(luò)蜘蛛

中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2016)12-0094-02

互聯(lián)網(wǎng)上面的信息就如浩瀚宇宙中的繁星點(diǎn)點(diǎn)般,數(shù)不勝數(shù),且非常雜亂,是毫無秩序可言的,通過網(wǎng)頁鏈接將這些數(shù)據(jù)連接起來,而搜索引擎就將這些雜亂的數(shù)據(jù)理清,從中呈現(xiàn)給用戶想要的具體信息。簡(jiǎn)單來說,搜索引擎就相當(dāng)于一個(gè)數(shù)據(jù)庫的存在,可以自動(dòng)從互聯(lián)網(wǎng)上搜集信息,把信息進(jìn)行一定的整理以后,再讓用戶進(jìn)行查詢的這么一個(gè)系統(tǒng)。隨著科技的發(fā)展,目前以Java技術(shù)的搜索引擎已經(jīng)成為電子計(jì)算機(jī)的新寵,可以帶給用戶更深層次的體驗(yàn),所以對(duì)于Java技術(shù)的搜索引擎進(jìn)行相關(guān)研究與探討還是很有必要的。

1 Java技術(shù)的概述

Java技術(shù)擁有良好的兼容性,這點(diǎn)是其他匯編語言所無法比較的,并且Java技術(shù)還具有良好的通用性和安全性[5]。調(diào)查發(fā)現(xiàn),Java技術(shù)設(shè)有安全機(jī)制,能夠有效的遏制某些代碼的惡劣攻擊,從而起到保護(hù)環(huán)境安全的作用,因此其安全性相對(duì)較高;Java技術(shù)主要是面向以支持類之間的單向繼承的對(duì)象,可以在多個(gè)接口下實(shí)現(xiàn)多出承接,因此Java技術(shù)具備很強(qiáng)的強(qiáng)制性;Java技術(shù)十分動(dòng)態(tài)化,可以依據(jù)動(dòng)態(tài)環(huán)境的變化而做出相應(yīng)的調(diào)整,大大提高了Java技術(shù)在軟件和系統(tǒng)上的兼容性;Java技術(shù)的多線程在給了其應(yīng)用以及系統(tǒng)性能的更多保障外,也增強(qiáng)了兩者的性能,從而更優(yōu)質(zhì)、更高質(zhì)量的服務(wù)到軟件開發(fā)者和軟件使用人。

2搜索引擎的搜索效果優(yōu)化方式

搜索引擎優(yōu)化簡(jiǎn)稱為SEO,是各種搜索引擎怎么抓住互聯(lián)網(wǎng)的界面,然后予以索引,并且對(duì)其中某個(gè)特定關(guān)鍵字或詞的搜索結(jié)果以及排名技術(shù)的一種了解。[6]通過SEO這種搜索引擎的營(yíng)銷思路,提供給網(wǎng)站生態(tài)式自我營(yíng)銷方案,從而有效的優(yōu)化網(wǎng)站,讓網(wǎng)站成為行業(yè)的佼佼者,提升網(wǎng)站排名和曝光率。

1)內(nèi)部鏈接優(yōu)化

網(wǎng)站的內(nèi)部就好比企業(yè)單位一樣,其分工較細(xì)且各不相同,為了網(wǎng)站的協(xié)調(diào)性更好,必須保持各種不同信息傳遞渠道的良好暢通和更加合理的運(yùn)作方式。因此,就需要將網(wǎng)站內(nèi)部的不同部門,通過良好的方式有效關(guān)聯(lián)起來,這就離不開網(wǎng)絡(luò)優(yōu)化技術(shù)的運(yùn)用。企業(yè)在對(duì)自身生產(chǎn)的產(chǎn)品作介紹時(shí),總是會(huì)面臨各種各樣的問題,這時(shí)單位就應(yīng)該在網(wǎng)站建設(shè)前預(yù)想到這些問題,然后解答這些問題并且建立一個(gè)專門的界面,在界面中加入一個(gè)搜索框。這種方法不僅解放了公司的人力,更是方便了訪問網(wǎng)站的人更好了解企業(yè)產(chǎn)品、從而促進(jìn)與企業(yè)的業(yè)務(wù)合作。

2)網(wǎng)站標(biāo)題優(yōu)化

網(wǎng)頁的標(biāo)題對(duì)于搜索引擎在搜索企業(yè)產(chǎn)品的網(wǎng)頁過程中起著重要作用。網(wǎng)頁標(biāo)題的關(guān)鍵字是對(duì)搜索引擎的一種引領(lǐng),搜索引擎會(huì)根據(jù)網(wǎng)頁標(biāo)題的關(guān)鍵字對(duì)網(wǎng)頁內(nèi)容做預(yù)判。不僅如此,就算用戶只是普通、隨意的瀏覽網(wǎng)頁,網(wǎng)頁標(biāo)題在很大程度上都可以吸引用戶的注意力。網(wǎng)頁搜索中的網(wǎng)頁標(biāo)題是對(duì)網(wǎng)頁進(jìn)行優(yōu)化的一個(gè)重要內(nèi)容,其密切關(guān)系著用戶的搜索結(jié)果。想要更好地完成網(wǎng)頁標(biāo)題優(yōu)化,就得足夠重視到網(wǎng)頁建設(shè)過程中的網(wǎng)頁標(biāo)題,并且能夠依據(jù)網(wǎng)站頁面設(shè)置的不同而選擇相對(duì)應(yīng)的網(wǎng)站標(biāo)題,而不是在所有網(wǎng)站中都應(yīng)用一個(gè)標(biāo)題。在同一個(gè)網(wǎng)站中,網(wǎng)站標(biāo)題也應(yīng)具有一定的差異性,層次結(jié)構(gòu)美觀、標(biāo)題內(nèi)容主次分明,標(biāo)題內(nèi)容的選擇也一定要與網(wǎng)站內(nèi)容密切掛鉤,可以更準(zhǔn)確地反映出網(wǎng)頁內(nèi)容。這種方式可以讓搜索引擎的搜素結(jié)果更加精確,有效提高網(wǎng)頁檢索結(jié)果與實(shí)際瀏覽內(nèi)容的匹配程度,能讓用戶對(duì)網(wǎng)站的標(biāo)題和內(nèi)容給以更多信任和關(guān)注。同時(shí)還可以試著對(duì)網(wǎng)站頁面的部分關(guān)鍵詞做一個(gè)統(tǒng)一化設(shè)定,讓企業(yè)的網(wǎng)站在互聯(lián)網(wǎng)這個(gè)浩瀚宇宙中能給用戶更好的識(shí)別性。

3)網(wǎng)站結(jié)構(gòu)優(yōu)化

目前市場(chǎng)上的企業(yè)網(wǎng)站構(gòu)成基本是:首頁、公司簡(jiǎn)介、產(chǎn)品、產(chǎn)品詳細(xì)信息、招聘信息以及聯(lián)系方式這些方面,從某些方面來說,這也是企業(yè)的一種宣傳手段,但是與用戶的互動(dòng)性卻明顯不夠,所以應(yīng)該對(duì)企業(yè)網(wǎng)站作進(jìn)一步的優(yōu)化。

3 Java技術(shù)搜索引擎的實(shí)現(xiàn)

3.1 網(wǎng)絡(luò)開發(fā)的環(huán)境

網(wǎng)絡(luò)蜘蛛、索引器和搜索器這三方面直接關(guān)乎Java技術(shù)搜索引擎的實(shí)現(xiàn),其對(duì)搜索引擎基本功能的完善也起著一定作用[2]。因此,就從以下幾個(gè)方面入手來研究對(duì)于Java技術(shù)搜索引擎的實(shí)現(xiàn)需要具備哪些方面的因素。

1)套接字類

把網(wǎng)絡(luò)蜘蛛運(yùn)用到Java技術(shù)互聯(lián)網(wǎng)的連接中能夠有效做好網(wǎng)頁抓取工作,把它和Web服務(wù)器通信進(jìn)行連接,然后通過網(wǎng)頁完成下載。Java技術(shù)可以提供多種互聯(lián)網(wǎng)連接類,一般的連接類中,一種是套接字類,套接字類應(yīng)用在所有連接網(wǎng)絡(luò)的計(jì)算機(jī)中,以方便促使計(jì)算機(jī)程序生效。通常網(wǎng)頁中使用的每臺(tái)計(jì)算機(jī)都有套接字,,這些套接字被稱為端口,且有相應(yīng)的編號(hào),在每臺(tái)計(jì)算機(jī)中,服務(wù)器都會(huì)對(duì)某一端口號(hào)進(jìn)行連接工作,包括其中的客戶端也是,都要通過某一端口號(hào)進(jìn)行連接。套接字類中的重要組成部分有Socket以及Server Socker,客戶端中所用到的Socket類通常用于客戶端套接字的聲明,而Server Socker則是用在服務(wù)端套接字聲明,以此形成一個(gè)點(diǎn)到點(diǎn)的連接。

2)URL類

另一種則是和URL連接在一起的URL類,URL類的應(yīng)用,主要是為了解析URL,URL類還能被拆分成幾個(gè)部分,確定好URL的創(chuàng)建對(duì)象后,就能夠完成主機(jī)名以及路徑解析,并且URL類還能夠連接開啟某些地址,從而在URL中獲得相應(yīng)的檢索能力。

3)Java技術(shù)中文處理

程序開發(fā)時(shí),常常會(huì)發(fā)生漢字亂碼的情況,且被網(wǎng)頁抓取、索引以及搜索。這種問題的發(fā)生多半都是字符編碼出了差錯(cuò)。在事先設(shè)置好正確編碼后,Java技術(shù)便能夠做好漢字支持工作。漢字屬于雙字節(jié),也被稱為高位和低位,我國的漢字編碼被規(guī)定為GB2312,現(xiàn)在的中文處理軟件都支持GB2312。GB2312里有9個(gè)區(qū)的符號(hào)和一二級(jí)漢字之分,并且不管高低位都是從OXal到OXfe,漢字的編碼范圍則是從OXboal到OXf7fe。

4)Java多線層機(jī)制

Java多線程機(jī)制可以充分幫助到網(wǎng)頁抓取、索引及搜索工作效率的提升,線程是后臺(tái)執(zhí)行程序的一部分,程序其他的部分依然可以繼續(xù)運(yùn)行,因此,若是要建立Java技術(shù)線程的前提是必須明確后臺(tái)執(zhí)行代碼,這就需要通過兩種辦法。

① 確定繼承好Thread對(duì)象并用其完成封裝線程工作,通過Thread類的run制定出我們所需要的線程代碼,但是Java并不支持多繼承,當(dāng)其中的某個(gè)類需要繼承其他類時(shí),此種方法就難以被運(yùn)用。

②依據(jù)Java確定好Runnbale接口,并在接口中建立好run方法,Java支持多接口的同時(shí)運(yùn)行,便不會(huì)受到第一種方法的限制。Java的接口在程序運(yùn)行時(shí)會(huì)根據(jù)自定義的方法實(shí)現(xiàn)我們所需要的工作方法。因此,當(dāng)接口執(zhí)行時(shí),其中須得存在相對(duì)應(yīng)的方法。

5)JDBC的應(yīng)用

通過DBMS完成維護(hù)好網(wǎng)頁列表工作,用合理的方式驅(qū)動(dòng)站點(diǎn)隊(duì)列,就能大量提升網(wǎng)絡(luò)蜘蛛訪問網(wǎng)站的量,用JDBS做好SQL的提交工作,這樣可方便用命令的形式操控?cái)?shù)據(jù)庫。但是在進(jìn)行操作時(shí),就需要通過importa jva.sql.*導(dǎo)入好語句,然后連接對(duì)象,其連接對(duì)象直接關(guān)系到DBMS,這是最高層次的環(huán)節(jié)。接下來就是確定statemnet對(duì)象,它是相對(duì)獨(dú)立的SQL語句,屬連接對(duì)象。

3.2 網(wǎng)絡(luò)蜘蛛的實(shí)現(xiàn)

網(wǎng)絡(luò)蜘蛛程序的編寫離不開接口和類的構(gòu)建,網(wǎng)絡(luò)蜘蛛的程序里有三個(gè)類和兩個(gè)接口[4]。

1)Spider類

Spider類一共有三個(gè)作用,首先,Spider類所為Spider的接口提供了如何使用Spider的方法;其次,向啟動(dòng)Spider的對(duì)象報(bào)告Spider發(fā)現(xiàn)的界面;最后,確定好Spider的工作進(jìn)度,Spider類允許將Spider的操作用兩個(gè)附加的類定制化。分別是由ISpiderReportable以及IWorkloadStorable這兩個(gè)接口定義以上的兩個(gè)附加類[1]。

2) ISpiderReportable接口

Spider把由ISpiderReportable接口定義的幾類時(shí)間送回它的控制器,然后在控制器中再對(duì)這些進(jìn)行處理。想要對(duì)這些頁面做處理,就需要執(zhí)行ISpiderReportable接口的類,然后取回Spider找到的頁面。

3)IWorkloadStorable接口

Spider組織要訪問的站點(diǎn)的列表,此接口定義一個(gè)對(duì)象,可以存儲(chǔ)或者取回作業(yè)中的頁面。IWorkloadStorable接口就是用于定制化Spider行為。

4)SpiderWorker類

Spider程序下載Web站點(diǎn),然后把頁面上的鏈接添加到作業(yè)中,這便是由SpiderWorker完成的,當(dāng)啟動(dòng)Spider程序時(shí),就會(huì)建立出一個(gè)相當(dāng)于線程池的SpiderWorker類池,Spider找到的畫面由每個(gè)線程同時(shí)處理。

5)SpiderDone類

SpiderDone類的目的就在于,想要知道在多個(gè)線程同步運(yùn)行的情況下,Spider工作的完成度有些困難,這時(shí)可用一個(gè)對(duì)象對(duì)還在運(yùn)行的線程數(shù)量進(jìn)行跟蹤,數(shù)量如果變?yōu)榱懔耍簿痛碇鳶pider工作的結(jié)束。

3.3 Lucene的實(shí)現(xiàn)

Lucene可以通過Java類有效完成應(yīng)用程度里需要的各種索引以及搜索,Lucene是一種性能較高,且擴(kuò)展方便的Java類庫,將Lucene與Java技術(shù)相結(jié)合,能夠很好地進(jìn)行跨平臺(tái)操作。

4 結(jié)束語

綜上所述,目前,我國互聯(lián)網(wǎng)的發(fā)展已經(jīng)日趨成熟,而搜索引擎是互聯(lián)網(wǎng)的重要組成部分,其對(duì)于用戶更好的體驗(yàn)、使用互聯(lián)網(wǎng)起著關(guān)鍵作用。Java為搜索引擎提供了很重要的技術(shù)支持,Java技術(shù)搜索引擎也必然會(huì)成為未來互聯(lián)網(wǎng)的搜索引領(lǐng)。文中對(duì)Java技術(shù)的搜索引擎的基本理念和功能以及在其實(shí)現(xiàn)上做了簡(jiǎn)要分析與研究。而如何將這一技術(shù)更好地運(yùn)用到網(wǎng)絡(luò)世界中,給用戶帶去更優(yōu)質(zhì)的體驗(yàn)和服務(wù),都還需要進(jìn)一步的探討與實(shí)踐。

參考文獻(xiàn):

[1] 焦蕾,殷鋒社.基于JAVA技術(shù)的搜索引擎的研究與實(shí)現(xiàn)[J].電子設(shè)計(jì)工程,2012(7):34-37.

[2] 徐英.基于Java技術(shù)的搜索引擎研究與實(shí)現(xiàn)[J].信息與電腦:理論版,2014(9):20-21.

[3] 伏漢英,黃永忠,陳新,等.一種基于Java的元搜索引擎的設(shè)計(jì)與實(shí)現(xiàn)[J].信息工程大學(xué)學(xué)報(bào),2004(4):42-45.

[4] 羅忠琦.Java技術(shù)的搜索引擎研究與實(shí)現(xiàn)[J].信息通信,2016(1):144-145.

[5] 楊金.基于JAVA技術(shù)的搜索引擎研究[J].中國新通信,2015(13):110.

猜你喜歡
技術(shù)體系搜索引擎
網(wǎng)絡(luò)搜索引擎亟待規(guī)范
Nutch搜索引擎在網(wǎng)絡(luò)輿情管控中的應(yīng)用
基于Nutch的醫(yī)療搜索引擎的研究與開發(fā)
廣告主與搜索引擎的雙向博弈分析