劉丹英 于光偉
摘 要:近年來(lái),隨著物聯(lián)網(wǎng)在各個(gè)領(lǐng)域的不斷應(yīng)用,使搜索引擎技術(shù)具備了極為廣闊的發(fā)展前景,針對(duì)搜索引擎在我國(guó)的應(yīng)用現(xiàn)狀,現(xiàn)將物聯(lián)網(wǎng)技術(shù)應(yīng)用到搜索引擎軟件當(dāng)中,以此提高搜索引擎軟件的速度,使搜索引擎能夠?yàn)槿藗兲峁└玫男畔⑺阉鞣?wù)。
關(guān)鍵詞:物聯(lián)網(wǎng);搜索引擎;軟件模塊;技術(shù);設(shè)計(jì)
中圖分類號(hào):TP391.3 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):2095-2945(2018)20-0143-02
Abstract: In recent years, with the continuous application of the Internet of things (IoT) in various fields, search engine technology has a very broad development prospects. In view of the current situation of search engine application in China, the Internet of things technology is now applied to search engine software to improve the speed of search engine software, so that search engines can provide people with better information search services.
Keywords: Internet of things (IoT); search engine; software module; technology; design
引言
隨著物聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,將信息技術(shù)和物聯(lián)網(wǎng)技術(shù)進(jìn)行融合,將使其在各個(gè)領(lǐng)域中發(fā)揮更大的作用。其主要包括檢索器、搜索器、用戶接口及索引器四個(gè)組成部分。搜索引擎在物聯(lián)網(wǎng)中發(fā)揮著極為重要的作用,人們能夠通過(guò)搜索引擎在物聯(lián)網(wǎng)中搜索到自己所需的信息,同時(shí)還能利用搜索引擎進(jìn)行漫游,可以說(shuō),搜索引擎極大程度地滿足了人們對(duì)信息的需求。將物聯(lián)網(wǎng)技術(shù)應(yīng)用到搜索引擎技術(shù)當(dāng)中去,能夠在很大程度上提高搜索引擎的性能,使搜索引擎在物聯(lián)網(wǎng)中進(jìn)行更加優(yōu)質(zhì)的信息搜索服務(wù)。因此,本文便對(duì)基于物聯(lián)網(wǎng)技術(shù)的搜索引擎技術(shù)進(jìn)行深入的研究,以此開(kāi)發(fā)出更加智能化的搜索引擎。
1 基于物聯(lián)網(wǎng)技術(shù)的搜索引擎軟件模塊的設(shè)計(jì)
在基于物聯(lián)網(wǎng)技術(shù)的搜索引擎軟件中,其共包括四個(gè)組成模塊,這些模塊分別是網(wǎng)頁(yè)抓取模塊、內(nèi)容索引模塊、內(nèi)容提取模塊以及內(nèi)容顯示模塊,以下便對(duì)這四個(gè)組成模塊進(jìn)行深入的研究。
1.1 網(wǎng)頁(yè)抓取模塊的設(shè)計(jì)
網(wǎng)頁(yè)抓取模塊的功能在于其能夠?qū)τ脩羲付ǖ恼军c(diǎn)實(shí)施網(wǎng)頁(yè)抓取,然后將所抓取的網(wǎng)頁(yè)存儲(chǔ)到用戶計(jì)算機(jī)的數(shù)據(jù)庫(kù)當(dāng)中。而在本文中所提到的基于物聯(lián)網(wǎng)技術(shù)的搜索引擎軟件模塊能夠從騰訊、搜狐、鳳凰及網(wǎng)易等大型網(wǎng)站中對(duì)相關(guān)網(wǎng)頁(yè)進(jìn)行抓取,其只需要將這些大型網(wǎng)站中的頁(yè)面URL當(dāng)作種子URL,并對(duì)這些大網(wǎng)站中的網(wǎng)頁(yè)URL所具備的格式進(jìn)行分析,然后對(duì)網(wǎng)絡(luò)爬蟲在網(wǎng)頁(yè)分析及抓取時(shí)所產(chǎn)生的行為進(jìn)行相應(yīng)的控制,并對(duì)能夠進(jìn)行爬取的網(wǎng)頁(yè)URL格式和對(duì)能夠進(jìn)入到等待爬取的URL隊(duì)列所具備的URL格式進(jìn)行限定。而要想使網(wǎng)絡(luò)爬蟲的爬取速度得到相應(yīng)提高,就必須要對(duì)URL分配策略進(jìn)行相應(yīng)的改善,以確保網(wǎng)絡(luò)爬蟲所具備的并發(fā)線程數(shù)量能夠增多,同時(shí),還可以對(duì)Robot文件訪問(wèn)進(jìn)行限制,以達(dá)到提高網(wǎng)絡(luò)爬蟲爬取網(wǎng)頁(yè)效率的目的。
1.2 內(nèi)容提取模塊的設(shè)計(jì)
網(wǎng)頁(yè)內(nèi)容的提取模塊功能在于其能夠從用戶計(jì)算機(jī)存儲(chǔ)的網(wǎng)頁(yè)中根據(jù)特定的提取規(guī)則來(lái)對(duì)用戶的所需信息進(jìn)行提取,然后將這些提取的信息按照相應(yīng)的格式存儲(chǔ)至數(shù)據(jù)庫(kù)當(dāng)中。其在分析目標(biāo)網(wǎng)頁(yè)過(guò)程中,會(huì)對(duì)相應(yīng)的信息抽取規(guī)則進(jìn)行制定,以定位網(wǎng)頁(yè)中的相關(guān)內(nèi)容,同時(shí)對(duì)網(wǎng)頁(yè)中所包含的文本內(nèi)容進(jìn)行抽取。在網(wǎng)頁(yè)信息詞庫(kù)的構(gòu)建中,利用分詞器來(lái)對(duì)用戶所需的提取信息進(jìn)行解析,然后將這些提取到的信息寫入到相應(yīng)的詞庫(kù)文件當(dāng)中,從而使這些提取出的網(wǎng)頁(yè)信息能夠轉(zhuǎn)化為結(jié)構(gòu)化信息,最后再由數(shù)據(jù)庫(kù)對(duì)這些結(jié)構(gòu)化信息進(jìn)行存儲(chǔ)。
1.3 內(nèi)容索引模塊的設(shè)計(jì)
在基于物聯(lián)網(wǎng)技術(shù)的搜索引擎軟件中,對(duì)于內(nèi)容索引模塊的設(shè)計(jì),主要是通過(guò)Luence索引工具來(lái)根據(jù)數(shù)據(jù)庫(kù)中所存儲(chǔ)的結(jié)構(gòu)化信息來(lái)對(duì)索引文件進(jìn)行建立的,在成功建立索引文件后,再將這些索引文件分別存儲(chǔ)至磁盤當(dāng)中。這樣,當(dāng)用戶需要對(duì)相應(yīng)的內(nèi)容進(jìn)行索引查詢時(shí),其只需要在搜索引擎中輸入相應(yīng)的查詢條件,即可對(duì)磁盤中的任意索引文件實(shí)施查詢,而且搜索引擎軟件還會(huì)根據(jù)用戶輸入的查詢條件的滿足程度,按照相應(yīng)的順序分別反饋給用戶,從而使用戶能夠?qū)λ蟹喜樵儣l件的索引文件進(jìn)行一目了然地篩選。
1.4 內(nèi)容顯示模塊的設(shè)計(jì)
在基于物聯(lián)網(wǎng)技術(shù)的搜索引擎軟件中,內(nèi)容顯示模塊的設(shè)計(jì)也是一大設(shè)計(jì)要點(diǎn),該模塊以Jsp技術(shù)為核心,在向用戶展示界面時(shí),是以Web形式實(shí)現(xiàn)的。用戶在對(duì)某些信息進(jìn)行搜索時(shí),需要在搜索引擎軟件的搜索欄界面輸入相應(yīng)的關(guān)鍵詞,此時(shí),搜索引擎軟件便會(huì)根據(jù)用戶搜索的詞,從本地?cái)?shù)據(jù)庫(kù)中對(duì)能夠與關(guān)鍵詞相匹配的網(wǎng)頁(yè)進(jìn)行查詢,在查詢到所有與關(guān)鍵詞相匹配的網(wǎng)頁(yè)后,搜索引擎軟件會(huì)根據(jù)這些網(wǎng)頁(yè)的匹配程度,并按照相應(yīng)的排序規(guī)則將這些網(wǎng)頁(yè)顯示到界面當(dāng)中,用戶只需要點(diǎn)擊這些網(wǎng)頁(yè)信息,便可迅速切換到該網(wǎng)頁(yè)的詳細(xì)內(nèi)容,進(jìn)而幫助用戶快速找出網(wǎng)頁(yè)內(nèi)容。
2 基于物聯(lián)網(wǎng)技術(shù)的搜索引擎技術(shù)的具體設(shè)計(jì)
2.1 網(wǎng)頁(yè)抓取
在基于物聯(lián)網(wǎng)技術(shù)的搜索引擎軟件設(shè)計(jì)中,網(wǎng)頁(yè)抓取技術(shù)實(shí)質(zhì)上便是一個(gè)能夠?qū)W(wǎng)頁(yè)進(jìn)行自動(dòng)提取的網(wǎng)絡(luò)爬蟲程序,其能夠從物聯(lián)網(wǎng)中對(duì)網(wǎng)頁(yè)進(jìn)行下載,可以說(shuō),該程序也是搜索引擎軟件的核心所在。在以往的網(wǎng)絡(luò)爬蟲中,其是從單獨(dú)或多個(gè)初始網(wǎng)頁(yè)的URL做為起始點(diǎn),以得到這些初始網(wǎng)頁(yè)中的URL格式,其在對(duì)網(wǎng)頁(yè)進(jìn)行抓取時(shí),需要在當(dāng)前界面中對(duì)新的URL進(jìn)行不斷地抽取,然后將其放入到隊(duì)列當(dāng)中,當(dāng)滿足停止條件時(shí)才會(huì)停止。對(duì)于聚焦爬蟲的工作流程來(lái)說(shuō),其是比較復(fù)雜的,其依據(jù)網(wǎng)頁(yè)分析算法來(lái)對(duì)網(wǎng)頁(yè)中和主題沒(méi)有關(guān)系的鏈接進(jìn)行過(guò)濾,并對(duì)有用鏈接進(jìn)行保留,同時(shí)將其置于待抓取URL隊(duì)列當(dāng)中。此時(shí),其便會(huì)按照特定的搜索策略在URL隊(duì)列中對(duì)需要進(jìn)一步抓取的網(wǎng)頁(yè)URL進(jìn)行抓取,然后對(duì)上述過(guò)程進(jìn)行不斷的重復(fù),直至滿足系統(tǒng)的停止條件時(shí)才停取抓取。網(wǎng)頁(yè)抓取模塊利用網(wǎng)絡(luò)爬蟲從各個(gè)網(wǎng)頁(yè)中對(duì)用戶的所需頁(yè)面URL進(jìn)行爬取。網(wǎng)絡(luò)爬蟲在被激活時(shí),我們需要在URL請(qǐng)求隊(duì)列中加入U(xiǎn)RL種子,種子應(yīng)為具備代表性的頁(yè)面URL,如鳳凰、搜狐、騰訊等,并通過(guò)分析這些具備代表性的頁(yè)面URL格式,以獲得與上述頁(yè)面相符的URL格式,然后將這些URL格式放入到請(qǐng)求隊(duì)列當(dāng)中。
2.2 網(wǎng)頁(yè)信息抽取
在搜索引擎軟件中的網(wǎng)頁(yè)信息抽取模塊中,其主要是根據(jù)相應(yīng)的抽取規(guī)則來(lái)對(duì)本地計(jì)算機(jī)中存儲(chǔ)的網(wǎng)頁(yè)進(jìn)行相關(guān)信息的抽取,然后將這些抽取到的用戶所需信息按照相應(yīng)的格式存儲(chǔ)至數(shù)據(jù)庫(kù)當(dāng)中。其在對(duì)網(wǎng)頁(yè)信息進(jìn)行抽取時(shí),需要對(duì)存儲(chǔ)網(wǎng)頁(yè)的本地文件夾進(jìn)行遍歷搜索,遍歷的方法可以采用深度優(yōu)先遍歷或廣度優(yōu)先遍歷等。當(dāng)遍歷到該文件中包含有需要抓取的網(wǎng)頁(yè)時(shí),則會(huì)通過(guò)Jsoup的使用來(lái)對(duì)網(wǎng)頁(yè)中的作者、標(biāo)題、正文及時(shí)間進(jìn)行定向抓取,然后將這些抓取到的內(nèi)容按照.txt格式存儲(chǔ)至用戶所指定的文件夾當(dāng)中。對(duì)于這些抓取到的內(nèi)容,如網(wǎng)頁(yè)中的標(biāo)題、發(fā)布時(shí)間、作者、鏈接地址等還會(huì)存儲(chǔ)到數(shù)據(jù)庫(kù)中的new表相應(yīng)列當(dāng)中。
2.3 內(nèi)容索引
在內(nèi)容索引時(shí),搜索引擎會(huì)根據(jù)數(shù)據(jù)庫(kù)中所存儲(chǔ)的結(jié)構(gòu)化信息,通過(guò)Luence索引工具來(lái)對(duì)相應(yīng)的索引文件進(jìn)行構(gòu)建,在索引文件構(gòu)建好以后會(huì)將其存儲(chǔ)至磁盤當(dāng)中,然后依據(jù)用戶的查詢條件來(lái)對(duì)相應(yīng)的索引文件進(jìn)行排序,然后將排序結(jié)果反饋給用戶。
綜上所述,本文根據(jù)物聯(lián)網(wǎng)技術(shù)中所生成的海量數(shù)據(jù),提出一種基于物聯(lián)網(wǎng)技術(shù)的搜索引擎,該搜索引擎在實(shí)際應(yīng)用過(guò)程中具備以下功能:其一,通過(guò)擴(kuò)展網(wǎng)絡(luò)爬蟲來(lái)提高網(wǎng)頁(yè)抓取速度;其二,利用Jsoup網(wǎng)頁(yè)解析工具來(lái)對(duì)目標(biāo)網(wǎng)頁(yè)中的具體內(nèi)容進(jìn)行提取,然后將這些提取到的內(nèi)容存儲(chǔ)到數(shù)據(jù)庫(kù)當(dāng)中;其三,利用Luence檢索工具實(shí)現(xiàn)用戶對(duì)本地?cái)?shù)據(jù)庫(kù)中相關(guān)信息的索引,并采用Jsp來(lái)對(duì)信息進(jìn)行過(guò)濾及展示;其四,通過(guò)MYSQL數(shù)據(jù)庫(kù)在搜索引擎中的應(yīng)用,以使搜索成本降低,并且MYSQL數(shù)據(jù)庫(kù)還能有效減輕結(jié)果集的負(fù)荷,使數(shù)據(jù)的傳輸速度加快;其五,搜索引擎軟件的界面美觀簡(jiǎn)便。通過(guò)對(duì)該搜索引擎軟件進(jìn)行測(cè)試,測(cè)試結(jié)果證明,基于物聯(lián)網(wǎng)技術(shù)的搜索引擎在信息搜索過(guò)程中具備穩(wěn)定、高效的優(yōu)勢(shì),同時(shí)具備良好的UI交互設(shè)計(jì)功能。
參考文獻(xiàn):
[1]李彥辰,艾慶忠,王少非.基于Redis的分布式搜索引擎研究[J].軟件導(dǎo)刊,2018,17(03):201-204.
[2]郭文俊,喬世東.基于多Agent的搜索引擎技術(shù)的研究[J].山西大同大學(xué)學(xué)報(bào)(自然科學(xué)版),2017,33(03):4-6.
[3]楊宇,杜文斌,周亞軍.計(jì)算機(jī)搜索引擎智能化技術(shù)研究[J].電腦迷,2017(07):20.
[4]蔣繼婭,劉彤,劉宇.基于搜索引擎優(yōu)化技術(shù)與模板引擎技術(shù)的網(wǎng)站優(yōu)化策略[J].情報(bào)理論與實(shí)踐,2010(05):99-102.
[5]許瑞.搜索引擎技術(shù)的發(fā)展現(xiàn)狀與前景[J].中國(guó)新技術(shù)新產(chǎn)品,2017(02):20-21.
[6]楊子墨.智能技術(shù)在搜索引擎中的應(yīng)用[J].科技創(chuàng)新與應(yīng)用,2016(35):98.
[7]周先軍,曹基軍,周瑾,等.基于關(guān)鍵詞提煉的搜索引擎優(yōu)化方案[J].科技創(chuàng)新與應(yīng)用,2016(12):78-79.