綦慧 徐曉慧
摘 要:基于Web平臺(tái)開(kāi)發(fā)背景,提出了以Axios和Element-UI組件庫(kù)為關(guān)鍵技術(shù)實(shí)現(xiàn)大數(shù)據(jù)的快速搜索。通過(guò)Axios技術(shù)跨域請(qǐng)求后臺(tái)數(shù)據(jù),將獲得的數(shù)據(jù)保存在Web內(nèi)存中。Web平臺(tái)用戶搜索組件界面通過(guò)Element-UI組件庫(kù)搭建,將從后臺(tái)獲取到的數(shù)據(jù)渲染到Web界面中,根據(jù)KMP算法進(jìn)行字符串匹配實(shí)現(xiàn)關(guān)鍵字搜索。在此基礎(chǔ)上結(jié)合Vue技術(shù)棧自定義指令懶加載實(shí)現(xiàn)快速精準(zhǔn)搜索。經(jīng)實(shí)驗(yàn)表明該種基于Web系統(tǒng)的大數(shù)據(jù)搜索框架能夠?qū)崿F(xiàn)大數(shù)據(jù)的準(zhǔn)確快速搜索。
關(guān)鍵詞:大數(shù)據(jù);搜索;Web系統(tǒng);Axios技術(shù)
中圖分類號(hào):TP311?????? 文獻(xiàn)標(biāo)識(shí)碼:A
Realization and Optimization of Big Data Search
Technology Based on Web System
QI Hui,XU Xiao-hui
(Faculty of Information Technology,Beijing University of Technology, Beijing 100124,China)
Abstract:Based on the development background of Web platform, this paper proposes to realize fast search of big data with Axios and Element-Ui component library as key technologies.By using Axios technology to request background data across domains, the obtained data is stored in Web memory.The user search component interface of the Web platform is built through the element-ui component library, the data obtained from the background is rendered into the Web interface, and the keyword search is realized by string matching according to KMP algorithm.On this basis, Vue technology stack custom instruction lazy load to achieve fast and accurate search.Experiments show that the big data search framework based on Web system can realize accurate and fast search of big data.
Key words:big data;search;Web system;Axios
數(shù)據(jù),已經(jīng)滲透到當(dāng)今每一個(gè)行業(yè)和業(yè)務(wù)職能領(lǐng)域,成為重要的生產(chǎn)因素。IBM研究表明,僅過(guò)去兩年,人類就創(chuàng)造了世界上90%的數(shù)據(jù)[1]。IDC研究顯示,未來(lái)十年的數(shù)據(jù)存儲(chǔ)量將增長(zhǎng)50倍[2]。信息技術(shù)的迅猛發(fā)展使得數(shù)據(jù)處理容量從TB轉(zhuǎn)換為ZB。而正因?yàn)閿?shù)據(jù)量的增多,數(shù)據(jù)搜索面臨巨大的挑戰(zhàn)。
大數(shù)據(jù)不僅是定義為數(shù)據(jù)量多,而且數(shù)據(jù)格式和種類較為復(fù)雜。基于大數(shù)據(jù)的生命周期,大數(shù)據(jù)搜索主要包括將數(shù)據(jù)提取到系統(tǒng)中、將數(shù)據(jù)保存到存儲(chǔ)中、操作搜索數(shù)據(jù)、可視化數(shù)據(jù)等四個(gè)流程。對(duì)于大數(shù)據(jù)搜索技術(shù),國(guó)內(nèi)外的研究者也提出了很多方法和模型。文獻(xiàn)[3]提出了一種基于遺傳算法的大數(shù)據(jù)搜索技術(shù),并對(duì)其方法進(jìn)行改進(jìn)仿真分析。文獻(xiàn)[4]在Lucene的基礎(chǔ)上,提出了改進(jìn)的分詞算法和改進(jìn)的相關(guān)度排序算法。文獻(xiàn)[5]基于Lucene,利用XML的數(shù)據(jù)存儲(chǔ)設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)Web搜索引擎。文獻(xiàn)[6]提出了一種優(yōu)化的web搜索模型,基于識(shí)別用戶意圖查詢的智能化搜索。
基于Web平臺(tái)開(kāi)發(fā)為背景,提出了以Axios和Element-UI組件庫(kù)為關(guān)鍵技術(shù)搭建大數(shù)據(jù)搜索的平臺(tái)。主要介紹了基于Web系統(tǒng)的大數(shù)據(jù)搜索的實(shí)現(xiàn)框架,然后詳述了實(shí)現(xiàn)Web平臺(tái)大數(shù)據(jù)搜索的關(guān)鍵技術(shù)原理和實(shí)現(xiàn)過(guò)程。通過(guò)Axios技術(shù)跨域請(qǐng)求后臺(tái)數(shù)據(jù),將獲得的數(shù)據(jù)保存在Web內(nèi)存中。Web界面搜索組件通過(guò)Element-UI組件庫(kù)搭建,將從后臺(tái)獲取到的數(shù)據(jù)渲染到Web界面中,根據(jù)KMP算法實(shí)現(xiàn)關(guān)鍵字搜索。在此基礎(chǔ)上,還結(jié)合了Vue框架,通過(guò)自定義Vue指令,實(shí)現(xiàn)了平臺(tái)的快速搜索。通過(guò)實(shí)驗(yàn)分析,發(fā)現(xiàn)不僅能通過(guò)關(guān)鍵字準(zhǔn)確的搜索到數(shù)據(jù),并且在大數(shù)據(jù)的實(shí)驗(yàn)背景下能夠快速的通過(guò)關(guān)鍵字搜索到數(shù)據(jù),Web頁(yè)面性能不會(huì)因數(shù)據(jù)量過(guò)大而產(chǎn)生搜索數(shù)據(jù)遲緩現(xiàn)象。
概括起來(lái),主要貢獻(xiàn)是:
1)提出了基于Web系統(tǒng)結(jié)合Axios技術(shù)和Element-UI關(guān)鍵技術(shù)實(shí)現(xiàn)大數(shù)據(jù)的搜索。
2)針對(duì)特殊大數(shù)據(jù)屬性名無(wú)明顯差異化,實(shí)現(xiàn)明顯搜索過(guò)濾問(wèn)題,提出運(yùn)用KMP算法實(shí)現(xiàn)了關(guān)鍵字的準(zhǔn)確搜索。
3)基于Web系統(tǒng),針對(duì)大數(shù)據(jù)數(shù)據(jù)量大對(duì)頁(yè)面渲染遲緩的性能問(wèn)題,提出結(jié)合Vue技術(shù)棧,自定義Vue指令的方法實(shí)現(xiàn)大數(shù)據(jù)搜索的頁(yè)面性能優(yōu)化。
1 系統(tǒng)框架
首先介紹基于Web系統(tǒng)的大數(shù)據(jù)搜索的基本拓?fù)浣Y(jié)構(gòu)框架,如圖1所示:
從拓?fù)浣Y(jié)構(gòu)框架分析,大數(shù)據(jù)搜索框架分為Web平臺(tái)和后臺(tái)數(shù)據(jù)庫(kù)兩部分。Web平臺(tái)是大數(shù)據(jù)搜索技術(shù)實(shí)現(xiàn)的主要依托,后臺(tái)數(shù)據(jù)庫(kù)是負(fù)責(zé)存儲(chǔ)數(shù)據(jù),供數(shù)據(jù)搜索獲取數(shù)據(jù)。從這個(gè)框架可以看出,大數(shù)據(jù)搜索技術(shù)的實(shí)現(xiàn)實(shí)現(xiàn)以下部分:數(shù)據(jù)請(qǐng)求、數(shù)據(jù)獲取、關(guān)鍵字輸入、關(guān)鍵字搜索、搜索數(shù)據(jù)結(jié)果渲染。
2 關(guān)鍵技術(shù)
大數(shù)據(jù)的核心技術(shù)涵蓋了數(shù)據(jù)收集、存取、基礎(chǔ)框架構(gòu)建、處理、統(tǒng)計(jì)分析、挖掘、模型預(yù)測(cè)與結(jié)果呈現(xiàn)幾方面[7]?;赪eb系統(tǒng)的大數(shù)據(jù)搜索技術(shù)主要是包含數(shù)據(jù)的獲取、處理、搜索、顯示這四個(gè)方面。如何獲取數(shù)據(jù),并把處理搜索后的數(shù)據(jù)結(jié)果準(zhǔn)確的渲染在界面中是實(shí)現(xiàn)大數(shù)據(jù)搜索的關(guān)鍵點(diǎn)。運(yùn)用axios技術(shù)和基于Element-UI組件中select解決此問(wèn)題。下面對(duì)Axios技術(shù)和Element-UI組件select下拉列表遠(yuǎn)程搜索原理作簡(jiǎn)要介紹。
2.1 Axios技術(shù)介紹概要
Axios是基于promise的HTTP庫(kù),用在瀏覽器和node.js中。主要介紹Axios在瀏覽器中的應(yīng)用。在Web開(kāi)發(fā)框架中,Vue技術(shù)棧請(qǐng)求服務(wù)器數(shù)據(jù)主要是通過(guò)vue-resource和Axios兩種技術(shù)與服務(wù)器通信并獲取數(shù)據(jù),由于Vue的升級(jí),vue-resource 提供的價(jià)值和其維護(hù)成本相比并不劃算,尤雨溪決定在以后取消對(duì) vue-resource 的官方推薦,不再對(duì)vue-resource進(jìn)行升級(jí),所以越來(lái)越多的開(kāi)發(fā)者用Axios插件進(jìn)行服務(wù)器數(shù)據(jù)的請(qǐng)求。
Ajax實(shí)現(xiàn)了頁(yè)面的局部數(shù)據(jù)刷新,而Axios是對(duì)Ajax的封裝。相較于Ajax,Axios有以下新特性:
1)從瀏覽器中創(chuàng)建XMLHttpRequest
2)從node.js中創(chuàng)建http請(qǐng)求。
3)支持Promise API
4)攔截請(qǐng)求和響應(yīng)
5)轉(zhuǎn)換請(qǐng)求數(shù)據(jù)和響應(yīng)數(shù)據(jù)
6)取消請(qǐng)求
7)自動(dòng)轉(zhuǎn)換JSON數(shù)據(jù)
8)客戶端支持防御XSRF
Ajax的核心是XMLHttpRequest,Axios請(qǐng)求是使用promise來(lái)實(shí)現(xiàn)XMLHttpRequest的。下面通過(guò)封裝XMLHttpRequest的代碼對(duì)比來(lái)說(shuō)明Axios發(fā)送請(qǐng)求回調(diào)的簡(jiǎn)要原理。
var Ajax={get: function(url, fn) {
/*XMLHttpRequest對(duì)象用于在后臺(tái)與服務(wù)器交換數(shù)據(jù)*/
var xhr = new XMLHttpRequest();
xhr.open('GET', url, true);
xhr.onreadystatechange = function() {
/* readyState == 4說(shuō)明請(qǐng)求已完成*/
if(xhr.readyState==4&&xhr.status == 200) {
/* 從服務(wù)器獲得數(shù)據(jù) */
fn.call(this, xhr.responseText);
}
};
xhr.send();
}
}
var Axios = {
get: function(url) {
return new Promise((resolve, reject) => {
var xhr = new XMLHttpRequest();
xhr.open('GET', url, true);
xhr.onreadystatechange = function() {
/* readyState == 4說(shuō)明請(qǐng)求已完成*/
if (xhr.readyState == 4 && xhr.status == 200)
{ /*從服務(wù)器獲得數(shù)據(jù) */
resolve(xhr.responseText)
}
};
xhr.send();
})
}
}
從對(duì)比中可以看到,axios的返回值是promise 對(duì)象,從而使得axios可以異步處理請(qǐng)求獲取的數(shù)據(jù)。由于返回值是promise對(duì)象,所以對(duì)于返回結(jié)果同promise的返回處理相同,用then處理success callback的數(shù)據(jù),用catch捕獲error callback的錯(cuò)誤并處理。
Axios發(fā)送請(qǐng)求的整體流程如圖2所示:
1.2 ELEMENT組件下拉列表遠(yuǎn)程搜索原理概要
Element-UI是一套為開(kāi)發(fā)者準(zhǔn)備的VUE2.0的組件庫(kù),具有一致性、反饋、效率、可控等優(yōu)秀性能。組件設(shè)計(jì)上與現(xiàn)實(shí)生活的流程、邏輯保持一致性,并且能反饋在界面上,讓用戶清晰感知自己的操作。簡(jiǎn)化的流程、清晰明確的操作幫助用戶快速操作。該組件庫(kù)中包含很多組件,主要著重分析在大數(shù)據(jù)搜索時(shí)用到的select組件。并從代碼角度重點(diǎn)分析El-Select組件和El-Option組件遠(yuǎn)程搜索功能的實(shí)現(xiàn)原理。
Element使用div標(biāo)簽?zāi)7聅elect。select組件HTML的代碼結(jié)構(gòu)如下所示:
class="el-select_tags">? ??? <!--放置多選時(shí)的選中的tag,以tag展現(xiàn)-->
??? <!--搜索功能-->
v-if="filterable" @input="e=>handleQueryChange
(e.target.value)"/>?
:clsaa="{'is-focus':visible}">
v-show="options.length> 0&&!loading"> <!--選項(xiàng)內(nèi)容--> v-if="showNewOption">
從上面的代碼框架中可以看出select中有兩個(gè)input標(biāo)簽。其作用是一個(gè)用來(lái)查詢搜索,一個(gè)用來(lái)回顯查詢搜索。如何在input中實(shí)現(xiàn)搜索功能,其方法是在input標(biāo)簽中存在
@input=″e(cuò)=>handleQueryChange(e.targ et.value)″輸入綁定。
在輸入查詢搜索中,綁定一個(gè)handleQueryChange函數(shù)方法,函數(shù)的參數(shù)是input的搜索參數(shù),目的是當(dāng)搜索框中的內(nèi)容發(fā)生變化時(shí),響應(yīng)的input搜索結(jié)果的回顯相應(yīng)的發(fā)生變化。該函數(shù)的關(guān)鍵代碼如下所示:
if (this.previousQuery === val) return;if (? this.previousQuery === null &&? (typeof this.filterMethod === 'function' || typeof this.remoteMethod === 'function')) {? this.previousQuery = val;? return;}
if (this.remote && typeof this.remoteMethod === 'function') {? this.hoverIndex = -1;? this.remoteMethod(val);} else if (typeof this.filterMethod === 'function') {? this.filterMethod(val);? this.broadcast('ElOptionGroup', 'queryChange');}
在關(guān)鍵代碼中。當(dāng)查詢搜索的數(shù)據(jù)與搜索顯示的數(shù)據(jù)不一樣時(shí),會(huì)重現(xiàn)搜索。而且搜索分為filterMethod和remoteMethod兩種搜索方法:本地搜索和遠(yuǎn)程搜索。當(dāng)在使用遠(yuǎn)程搜索時(shí),需要在select標(biāo)簽中設(shè)置remote和remote-method屬性來(lái)獲取遠(yuǎn)程的數(shù)據(jù)。當(dāng)開(kāi)發(fā)者在使用select標(biāo)簽時(shí),需要自己定義remote-method方法。remote-method方法最終將數(shù)據(jù)返回并賦值給option的v-mod el綁定數(shù)組數(shù)據(jù)將結(jié)果顯示出來(lái)。
2 快速搜索技術(shù)的實(shí)現(xiàn)
2.1 基于Axios的數(shù)據(jù)獲取與存儲(chǔ)
Axios獲取數(shù)據(jù)的代碼流程如圖3所示:
結(jié)果的獲取實(shí)現(xiàn)如圖4所示:
2.2 基于el-select組件的數(shù)據(jù)快速搜索
在上述過(guò)程中,由于數(shù)據(jù)量多,進(jìn)而搜索后匹配的數(shù)據(jù)量也有很多,并且很多數(shù)據(jù)的子字段具有相似性。在select輸入框中搜索關(guān)鍵字進(jìn)行搜索,回顯在el-option中的數(shù)據(jù)與原始數(shù)據(jù)在數(shù)量上并無(wú)太大差異。如何讓搜索返回的數(shù)據(jù)具有明顯搜索過(guò)濾的特征,對(duì)于該問(wèn)題的解決,本文采用在el-select組件中添加remote遠(yuǎn)程搜索的屬性,同時(shí)傳入一個(gè)remote-method。remote-method為一個(gè)Function,在該Function中運(yùn)用KMP算法解決該問(wèn)題。
首先在remote-method中,用String()構(gòu)造函數(shù)將搜索關(guān)鍵字轉(zhuǎn)化成原始字符串。用/[^\\x00-\\xff]/g正則表達(dá)式匹配非雙字節(jié)的字符,匹配的字符用單字節(jié)字符進(jìn)行替換,并自己計(jì)算替換后字符串的長(zhǎng)度。當(dāng)字符串的長(zhǎng)度大于4時(shí),則可進(jìn)行搜索。然后采用KMP算法進(jìn)行字符串匹配搜索。
KMP(Knuth-Morris-Pratt)算法[8]的主要思想是:目標(biāo)字符串和模式字符串進(jìn)行字符串匹配。每當(dāng)一次匹配過(guò)程中出現(xiàn)字符不匹配時(shí),不需要進(jìn)行指針回溯[9]。而是利用最長(zhǎng)相同真前綴和真后綴的相同長(zhǎng)度即next[j]所得值將模式字符串右移,繼續(xù)匹配。直到在目標(biāo)字符串中找到與模式字符串相同的字符串,并返回該字符串的下標(biāo)值;若未找到,返回值為-1。
算法過(guò)程:假設(shè)目標(biāo)字符串S為[s0,s2,…,sn-1],長(zhǎng)度為n。模式字符串P為[p0,p2,…,pm-1],長(zhǎng)度為m,并且n>m。
1)當(dāng)Si=P0,S[i+1]=P[1],…S[i+m-1]=P[m-1],則模式字符串在目標(biāo)字符串中匹配成功。匹配結(jié)果下標(biāo)為i。
2)當(dāng)在1)的匹配過(guò)程中匹配不成功,即出現(xiàn)Si≠Pj時(shí),i不變,j=nextj。
nextj=-1當(dāng)j=00當(dāng)0 優(yōu)化后的搜索界面如圖5所示: 當(dāng)輸入一個(gè)漢字相當(dāng)于兩個(gè)字節(jié)時(shí),無(wú)法搜索。輸入兩個(gè)漢字即四個(gè)字節(jié)時(shí)則可以在數(shù)據(jù)中搜索,并且可以滾動(dòng)選擇相應(yīng)的數(shù)據(jù)。 3 快速搜索技術(shù)的優(yōu)化 解決思路是實(shí)現(xiàn)option顯示的懶加載。首先在下拉框中先預(yù)覽50條數(shù)據(jù),然后滾動(dòng)滾動(dòng)條,當(dāng)滾動(dòng)到元素底部時(shí),再加載50條數(shù)據(jù),依次加載。具體方法分為兩步:第一步:創(chuàng)建自定義指令,在自定義指令中,添加DOM監(jiān)聽(tīng)事件,綁定滾動(dòng)監(jiān)聽(tīng)。首先簡(jiǎn)要介紹vue自定義指令概念和結(jié)構(gòu)。在vue中,由于MVVM模式,實(shí)現(xiàn)數(shù)據(jù)的雙向綁定,經(jīng)常用到v-model和v-on指令。但當(dāng)自身指令無(wú)法滿足開(kāi)發(fā)者時(shí),又仍需要對(duì)底層DOM進(jìn)行操作,這時(shí)就會(huì)用到自定義指令。自定義指令的基本代碼結(jié)構(gòu)如下所示:vue.directive('指令名',{鉤子函數(shù)})。vue自定義指令的目的是實(shí)現(xiàn)當(dāng)搜索數(shù)據(jù)多時(shí)回顯性能無(wú)影響,所以指令名為'loadmore',鉤子函數(shù)選用bind。在bind鉤子函數(shù)中,參數(shù)為el和binding。其中el是指自定義指令綁定的元素,用來(lái)操作DOM中元素;binding是一個(gè)對(duì)象,有value、name等屬性,也是用來(lái)操作DOM中的元素。在loadmore指令中獲取select標(biāo)簽的CSS選擇器中表示鼠標(biāo)滾動(dòng)的第一個(gè)元素,在此指定元素上添加滾動(dòng)事件監(jiān)聽(tīng)。 滾動(dòng)監(jiān)聽(tīng)的實(shí)現(xiàn)原理[10]如圖6所示: 由圖6看出: clientHeight:指的是顯示內(nèi)容的高度,在上圖中包含內(nèi)容區(qū)高度和內(nèi)邊距高度。 scrollHeight:指的是滾動(dòng)的高度,在上圖中指的是需要顯示的元素內(nèi)容的總高度。 scrollTop:指的是隱藏在顯示內(nèi)容區(qū)域上方的高度,在圖中指的是滾動(dòng)條滾動(dòng)了的高度。 在滾動(dòng)監(jiān)聽(tīng)事件中,通過(guò)下式判斷select的滾動(dòng)條是否滾動(dòng)到了底部。 scrollHeight-scrollTop<=clientHeight(2) 第二步:第一步完成滾動(dòng)監(jiān)聽(tīng),當(dāng)監(jiān)聽(tīng)到滾動(dòng)條滾動(dòng)到元素底部時(shí),需要加載下面50條數(shù)據(jù)。在第一步中實(shí)現(xiàn)自定義指令,把自定義的指令用v-loadmore的形式添加在el-select標(biāo)簽中并綁定事件方法,在該事件方法中以每頁(yè)50條數(shù)據(jù)分頁(yè)加載。實(shí)現(xiàn)接下來(lái)50條數(shù)據(jù)懶加載的計(jì)算公式為式(3): Data=currentPagePage_Size+Math.min (allData_length-currentPage Page_Size,Page_Size) (3) 其中,Data:已經(jīng)加載的數(shù)據(jù)和將要被懶加載的數(shù)據(jù); currentPage:當(dāng)前懶加載的頁(yè)數(shù)。初始值為1,加載完50條數(shù)據(jù)后,該值加1。 Page_Size:每一頁(yè)需要加載的最大數(shù)據(jù)條數(shù),本文設(shè)置為50條數(shù)據(jù)。 allData_length:需要回顯在option中所有的數(shù)據(jù)的個(gè)數(shù)。 然后從currentPagePage_Size的位置起,到Data所在的位置回顯在option中。 通過(guò)以上兩步實(shí)現(xiàn)了大數(shù)據(jù)快速搜索的回顯,優(yōu)化了瀏覽器性能。 代碼實(shí)現(xiàn)流程如圖7所示: 優(yōu)化效果圖如圖8所示: 優(yōu)化后的界面在瀏覽器的檢查界面滾動(dòng)鼠標(biāo)每瀏覽50條數(shù)據(jù)可在控制臺(tái)打印more標(biāo)志。 從數(shù)據(jù)庫(kù)獲取所有數(shù)據(jù)的時(shí)間如圖9所示: 從圖10可以看出,渲染速度從3.11 s優(yōu)化為0.69 s,渲染速度增加了4.5倍。由此可見(jiàn),優(yōu)化后的界面渲染速度更快,性能更好。 4 結(jié) 論 基于Web系統(tǒng),面對(duì)大數(shù)據(jù)快速搜索的需求,使用axios技術(shù)實(shí)現(xiàn)與后臺(tái)數(shù)據(jù)庫(kù)通信。不僅能防止CSRF攻擊保持?jǐn)?shù)據(jù)獲取的安全性,而且還可以運(yùn)用Promise,實(shí)現(xiàn)數(shù)據(jù)的異步處理。在此基礎(chǔ)上,運(yùn)用Element-UI組件庫(kù)中的select組件,既能省去原生組件樣式和框架搭建,并且還能用關(guān)鍵字遠(yuǎn)程搜索數(shù)據(jù)實(shí)現(xiàn)數(shù)據(jù)快速搜索的優(yōu)化。在vue技術(shù)棧的背景下,自定義vue指令實(shí)現(xiàn)大數(shù)據(jù)的懶加載,這不僅大大減輕了瀏覽器渲染的壓力,更是使得用戶有更好的體驗(yàn)效果,使得數(shù)據(jù)回顯明顯的優(yōu)化。通過(guò)實(shí)驗(yàn)實(shí)現(xiàn)表明,利用axios技術(shù)實(shí)現(xiàn)Web界面與數(shù)據(jù)庫(kù)的交互,并通過(guò)select關(guān)鍵字精準(zhǔn)快速查詢需求信息,并把查詢到的數(shù)據(jù)快速渲染到web界面中具有很好的實(shí)用價(jià)值。 回顯數(shù)據(jù)渲染優(yōu)化后時(shí)間表對(duì)比圖如圖10所示: 參考文獻(xiàn) [1] 張萍,王建中.一種基于大數(shù)據(jù)的有效搜索方法的改進(jìn)[J].計(jì)算機(jī)應(yīng)用研究,2014,31(8):2331-2334. [2] 高興.最新歷史版本:全球大數(shù)據(jù)規(guī)模[EB/OL].http:∥www.techcn.com.cn/index.php?edition-view-185361-3.html,2012-05-01. [3] 林志鴻.基于改進(jìn)遺傳算法的大數(shù)據(jù)智能搜索研究[J].遼寧科技學(xué)院學(xué)報(bào),2018,20(1):18-20. [4] 吳潔明,韓云輝,冀單單.基于Lucene的數(shù)字作品搜索引擎的研究與設(shè)計(jì)[J].計(jì)算機(jī)工程與科學(xué),2013,35(5):166-171. [5] 孔伯煊,李祥.基于Lucene\\XML技術(shù)的Web搜索引擎設(shè)計(jì)與實(shí)現(xiàn)[J].航空計(jì)算技術(shù),2006,36(4):5-8. [6] 楊藝,周元.基于用戶查詢意圖識(shí)別的Web搜索優(yōu)化模型[J].計(jì)算機(jī)科學(xué),2012,39(1):264-267. [7] 羅新曼.大數(shù)據(jù)技術(shù)在計(jì)算機(jī)網(wǎng)絡(luò)信息管理中的應(yīng)用[J].電子技術(shù)與軟件工程,2019,20:150-151. [8] KNUTH D E,MORRIS J H,PRATT V R.Fast pattern mtching in strings[J].SIAM Journal on Computing,1977,6(2):323-350. [9] 付聰,余敦輝,張靈莉.面向中文敏感詞變形體的識(shí)別方法研究[J].計(jì)算機(jī)應(yīng)用研究,2019,36(4):988-991. [10]NICHOLAS C Z.Professional JavsScript for web developers[M].People's post publishing house:Beijing,2012:342.
計(jì)算技術(shù)與自動(dòng)化2021年1期