劉丹英 于光偉
摘 要:近年來,隨著物聯網在各個領域的不斷應用,使搜索引擎技術具備了極為廣闊的發展前景,針對搜索引擎在我國的應用現狀,現將物聯網技術應用到搜索引擎軟件當中,以此提高搜索引擎軟件的速度,使搜索引擎能夠為人們提供更好的信息搜索服務。
關鍵詞:物聯網;搜索引擎;軟件模塊;技術;設計
中圖分類號:TP391.3 文獻標志碼:A 文章編號: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
引言
隨著物聯網技術的不斷發展,將信息技術和物聯網技術進行融合,將使其在各個領域中發揮更大的作用。其主要包括檢索器、搜索器、用戶接口及索引器四個組成部分。搜索引擎在物聯網中發揮著極為重要的作用,人們能夠通過搜索引擎在物聯網中搜索到自己所需的信息,同時還能利用搜索引擎進行漫游,可以說,搜索引擎極大程度地滿足了人們對信息的需求。將物聯網技術應用到搜索引擎技術當中去,能夠在很大程度上提高搜索引擎的性能,使搜索引擎在物聯網中進行更加優質的信息搜索服務。因此,本文便對基于物聯網技術的搜索引擎技術進行深入的研究,以此開發出更加智能化的搜索引擎。
1 基于物聯網技術的搜索引擎軟件模塊的設計
在基于物聯網技術的搜索引擎軟件中,其共包括四個組成模塊,這些模塊分別是網頁抓取模塊、內容索引模塊、內容提取模塊以及內容顯示模塊,以下便對這四個組成模塊進行深入的研究。
1.1 網頁抓取模塊的設計
網頁抓取模塊的功能在于其能夠對用戶所指定的站點實施網頁抓取,然后將所抓取的網頁存儲到用戶計算機的數據庫當中。而在本文中所提到的基于物聯網技術的搜索引擎軟件模塊能夠從騰訊、搜狐、鳳凰及網易等大型網站中對相關網頁進行抓取,其只需要將這些大型網站中的頁面URL當作種子URL,并對這些大網站中的網頁URL所具備的格式進行分析,然后對網絡爬蟲在網頁分析及抓取時所產生的行為進行相應的控制,并對能夠進行爬取的網頁URL格式和對能夠進入到等待爬取的URL隊列所具備的URL格式進行限定。而要想使網絡爬蟲的爬取速度得到相應提高,就必須要對URL分配策略進行相應的改善,以確保網絡爬蟲所具備的并發線程數量能夠增多,同時,還可以對Robot文件訪問進行限制,以達到提高網絡爬蟲爬取網頁效率的目的。
1.2 內容提取模塊的設計
網頁內容的提取模塊功能在于其能夠從用戶計算機存儲的網頁中根據特定的提取規則來對用戶的所需信息進行提取,然后將這些提取的信息按照相應的格式存儲至數據庫當中。其在分析目標網頁過程中,會對相應的信息抽取規則進行制定,以定位網頁中的相關內容,同時對網頁中所包含的文本內容進行抽取。在網頁信息詞庫的構建中,利用分詞器來對用戶所需的提取信息進行解析,然后將這些提取到的信息寫入到相應的詞庫文件當中,從而使這些提取出的網頁信息能夠轉化為結構化信息,最后再由數據庫對這些結構化信息進行存儲。
1.3 內容索引模塊的設計
在基于物聯網技術的搜索引擎軟件中,對于內容索引模塊的設計,主要是通過Luence索引工具來根據數據庫中所存儲的結構化信息來對索引文件進行建立的,在成功建立索引文件后,再將這些索引文件分別存儲至磁盤當中。這樣,當用戶需要對相應的內容進行索引查詢時,其只需要在搜索引擎中輸入相應的查詢條件,即可對磁盤中的任意索引文件實施查詢,而且搜索引擎軟件還會根據用戶輸入的查詢條件的滿足程度,按照相應的順序分別反饋給用戶,從而使用戶能夠對所有符合查詢條件的索引文件進行一目了然地篩選。
1.4 內容顯示模塊的設計
在基于物聯網技術的搜索引擎軟件中,內容顯示模塊的設計也是一大設計要點,該模塊以Jsp技術為核心,在向用戶展示界面時,是以Web形式實現的。用戶在對某些信息進行搜索時,需要在搜索引擎軟件的搜索欄界面輸入相應的關鍵詞,此時,搜索引擎軟件便會根據用戶搜索的詞,從本地數據庫中對能夠與關鍵詞相匹配的網頁進行查詢,在查詢到所有與關鍵詞相匹配的網頁后,搜索引擎軟件會根據這些網頁的匹配程度,并按照相應的排序規則將這些網頁顯示到界面當中,用戶只需要點擊這些網頁信息,便可迅速切換到該網頁的詳細內容,進而幫助用戶快速找出網頁內容。
2 基于物聯網技術的搜索引擎技術的具體設計
2.1 網頁抓取
在基于物聯網技術的搜索引擎軟件設計中,網頁抓取技術實質上便是一個能夠對網頁進行自動提取的網絡爬蟲程序,其能夠從物聯網中對網頁進行下載,可以說,該程序也是搜索引擎軟件的核心所在。在以往的網絡爬蟲中,其是從單獨或多個初始網頁的URL做為起始點,以得到這些初始網頁中的URL格式,其在對網頁進行抓取時,需要在當前界面中對新的URL進行不斷地抽取,然后將其放入到隊列當中,當滿足停止條件時才會停止。對于聚焦爬蟲的工作流程來說,其是比較復雜的,其依據網頁分析算法來對網頁中和主題沒有關系的鏈接進行過濾,并對有用鏈接進行保留,同時將其置于待抓取URL隊列當中。此時,其便會按照特定的搜索策略在URL隊列中對需要進一步抓取的網頁URL進行抓取,然后對上述過程進行不斷的重復,直至滿足系統的停止條件時才停取抓取。網頁抓取模塊利用網絡爬蟲從各個網頁中對用戶的所需頁面URL進行爬取。網絡爬蟲在被激活時,我們需要在URL請求隊列中加入URL種子,種子應為具備代表性的頁面URL,如鳳凰、搜狐、騰訊等,并通過分析這些具備代表性的頁面URL格式,以獲得與上述頁面相符的URL格式,然后將這些URL格式放入到請求隊列當中。
2.2 網頁信息抽取
在搜索引擎軟件中的網頁信息抽取模塊中,其主要是根據相應的抽取規則來對本地計算機中存儲的網頁進行相關信息的抽取,然后將這些抽取到的用戶所需信息按照相應的格式存儲至數據庫當中。其在對網頁信息進行抽取時,需要對存儲網頁的本地文件夾進行遍歷搜索,遍歷的方法可以采用深度優先遍歷或廣度優先遍歷等。當遍歷到該文件中包含有需要抓取的網頁時,則會通過Jsoup的使用來對網頁中的作者、標題、正文及時間進行定向抓取,然后將這些抓取到的內容按照.txt格式存儲至用戶所指定的文件夾當中。對于這些抓取到的內容,如網頁中的標題、發布時間、作者、鏈接地址等還會存儲到數據庫中的new表相應列當中。
2.3 內容索引
在內容索引時,搜索引擎會根據數據庫中所存儲的結構化信息,通過Luence索引工具來對相應的索引文件進行構建,在索引文件構建好以后會將其存儲至磁盤當中,然后依據用戶的查詢條件來對相應的索引文件進行排序,然后將排序結果反饋給用戶。
綜上所述,本文根據物聯網技術中所生成的海量數據,提出一種基于物聯網技術的搜索引擎,該搜索引擎在實際應用過程中具備以下功能:其一,通過擴展網絡爬蟲來提高網頁抓取速度;其二,利用Jsoup網頁解析工具來對目標網頁中的具體內容進行提取,然后將這些提取到的內容存儲到數據庫當中;其三,利用Luence檢索工具實現用戶對本地數據庫中相關信息的索引,并采用Jsp來對信息進行過濾及展示;其四,通過MYSQL數據庫在搜索引擎中的應用,以使搜索成本降低,并且MYSQL數據庫還能有效減輕結果集的負荷,使數據的傳輸速度加快;其五,搜索引擎軟件的界面美觀簡便。通過對該搜索引擎軟件進行測試,測試結果證明,基于物聯網技術的搜索引擎在信息搜索過程中具備穩定、高效的優勢,同時具備良好的UI交互設計功能。
參考文獻:
[1]李彥辰,艾慶忠,王少非.基于Redis的分布式搜索引擎研究[J].軟件導刊,2018,17(03):201-204.
[2]郭文俊,喬世東.基于多Agent的搜索引擎技術的研究[J].山西大同大學學報(自然科學版),2017,33(03):4-6.
[3]楊宇,杜文斌,周亞軍.計算機搜索引擎智能化技術研究[J].電腦迷,2017(07):20.
[4]蔣繼婭,劉彤,劉宇.基于搜索引擎優化技術與模板引擎技術的網站優化策略[J].情報理論與實踐,2010(05):99-102.
[5]許瑞.搜索引擎技術的發展現狀與前景[J].中國新技術新產品,2017(02):20-21.
[6]楊子墨.智能技術在搜索引擎中的應用[J].科技創新與應用,2016(35):98.
[7]周先軍,曹基軍,周瑾,等.基于關鍵詞提煉的搜索引擎優化方案[J].科技創新與應用,2016(12):78-79.