盤可以采用SSDB (高性能的支持豐富數(shù)據(jù)結(jié)構(gòu)的NoSQL數(shù)據(jù)庫)來存儲(chǔ)100條第二摘要信息,每條第二摘要信息按照匹配次數(shù)在磁盤中存儲(chǔ),且從排序的第一位開始到第10位為匹配次數(shù)大于第一預(yù)設(shè)次數(shù)的第二摘要信息,則將這些第二摘要信息作為第一摘要信息。也就是說內(nèi)存中的第一摘要信息為磁盤中第二摘要信息的子集。在本發(fā)明實(shí)施例中第一預(yù)設(shè)次數(shù)為預(yù)先設(shè)置的某個(gè)閾值,其在不同應(yīng)用場(chǎng)景下可以設(shè)置不同取值,并且可以基于應(yīng)用場(chǎng)景的變化而更新。
[0082]在此需要說明的一點(diǎn)是:在得到搜索詞組后從客戶端的內(nèi)存和磁盤中搜索可以提高匹配速度并降低成本。因?yàn)閮?nèi)存的數(shù)據(jù)讀取速度要高于磁盤的數(shù)據(jù)讀取速度,而其成本明顯高于磁盤的成本,所以在得到搜索詞組后優(yōu)先從內(nèi)存中查找可以提高匹配速度,并且內(nèi)存中存儲(chǔ)的部分第二摘要信息是匹配次數(shù)大于第一預(yù)設(shè)次數(shù)的信息,即將多數(shù)用戶經(jīng)常匹配的信息存儲(chǔ)于內(nèi)存中可以提高一次匹配成功的幾率,從而提高匹配速度和匹配準(zhǔn)確度。當(dāng)內(nèi)存和磁盤采用Memcahed和SSDB配合的方式進(jìn)行匹配時(shí)可以達(dá)到0.0Ox秒級(jí)的訪問速度,其中X為一自然數(shù)。進(jìn)一步因?yàn)榇疟P的存儲(chǔ)空間大于內(nèi)存的存儲(chǔ)空間,且其成本低于內(nèi)存,所以采用內(nèi)存和磁盤分擔(dān)存儲(chǔ)第二摘要信息的方式可以降低成本。
[0083]第二展示單元15,用于當(dāng)?shù)诙ヅ浣Y(jié)果表明磁盤中存在與搜索詞組匹配的第二摘要信息時(shí),展示第二摘要信息對(duì)應(yīng)的原始信息。當(dāng)然在展示原始信息時(shí)除展示文字信息之夕卜,還可以將原始信息對(duì)應(yīng)的圖片信息展示,這樣可以使用戶更加全面的理解原始信息對(duì)應(yīng)的產(chǎn)品。
[0084]發(fā)送單元16,用于當(dāng)?shù)诙ヅ浣Y(jié)果表明磁盤中不存在與搜索詞組匹配的第二摘要信息時(shí),向與客戶端通信的服務(wù)器發(fā)送搜索請(qǐng)求,由服務(wù)器基于搜索詞組與服務(wù)器內(nèi)的多個(gè)分區(qū)中存儲(chǔ)的每條第三摘要信息進(jìn)行并行匹配,其中第三摘要信息是對(duì)分區(qū)中存儲(chǔ)的每條原始信息進(jìn)行語義分析后分詞重組的信息,且第二摘要信息為從服務(wù)器中提取出的匹配次數(shù)大于第二預(yù)設(shè)次數(shù)的第三摘要信息。也就是說磁盤中的第二摘要信息為磁盤中第三摘要信息的子集。在本發(fā)明實(shí)施例中第二預(yù)設(shè)次數(shù)為預(yù)先設(shè)置的某個(gè)閾值,其在不同應(yīng)用場(chǎng)景下可以設(shè)置不同取值,并且可以基于應(yīng)用場(chǎng)景的變化而更新。
[0085]從上述技術(shù)方案可以看出,本發(fā)明實(shí)施例提供的信息匹配裝置可以基于語義進(jìn)行分詞得到各個(gè)摘要信息,從而能夠基于原始信息建立適當(dāng)?shù)恼畔?,提高匹配?zhǔn)確度和召回率。對(duì)于歷史的匹配結(jié)果如第一摘要信息和第二摘要信息采用了基于內(nèi)存和磁盤的分布式存儲(chǔ)方式,這樣在匹配時(shí)可以優(yōu)先從內(nèi)存再到磁盤進(jìn)行匹配以提高匹配速度,并且服務(wù)器側(cè)也可以基于搜索請(qǐng)求進(jìn)行多分區(qū)的并行匹配,使得服務(wù)器側(cè)可以處理近1000倍的并發(fā)請(qǐng)求量,進(jìn)一步提高匹配速度。
[0086]此外本發(fā)明實(shí)施例可以將基于搜索詞組的匹配進(jìn)行封裝以提供一個(gè)外部業(yè)務(wù)接口,該外部業(yè)務(wù)接口則是用于基于搜索詞組進(jìn)行匹配的接口,這樣可以使接口對(duì)業(yè)務(wù)高度透明化,真正將匹配服務(wù)做到服務(wù)化,而使業(yè)務(wù)開發(fā)可以不關(guān)心內(nèi)部具體實(shí)現(xiàn)細(xì)節(jié),做到業(yè)務(wù)與服務(wù)的低耦合。
[0087]在本發(fā)明實(shí)施例中可以使用YAR對(duì)基于搜索詞組的匹配進(jìn)行封裝,例如可以使用Yar_Server方法在服務(wù)器側(cè)進(jìn)行匹配服務(wù)的封裝,而在客戶端側(cè)通過Yar_Client方法進(jìn)行調(diào)用。
[0088]上述圖3所示的信息匹配裝置采用的是先內(nèi)存再磁盤最后到服務(wù)器的這種依次匹配的方式,當(dāng)然本發(fā)明實(shí)施例提供的信息匹配裝置還可以采用內(nèi)存、磁盤和服務(wù)器同時(shí)進(jìn)行匹配的方式,其具體過程如下:
[0089]首先組合單元11對(duì)用戶輸入的關(guān)鍵詞以及基于搜索關(guān)鍵詞選取的篩選詞進(jìn)行組合,得到搜索詞組;其次基于搜索詞組第一匹配單元12和第二匹配單元14同時(shí)與內(nèi)存中的每條第一摘要信息以及磁盤中的每條第二摘要信息進(jìn)行匹配。在與客戶端的內(nèi)存和磁盤進(jìn)行匹配的同時(shí),發(fā)送單元16向服務(wù)器發(fā)送搜索請(qǐng)求,由服務(wù)器基于搜索詞組與服務(wù)器內(nèi)的多個(gè)分區(qū)中存儲(chǔ)的每條第三摘要信息進(jìn)行并行匹配。服務(wù)器在得到匹配結(jié)果后,將匹配結(jié)果中的原始信息進(jìn)行合并并刪除重復(fù)的原始信息,并將最終的匹配結(jié)果返回客戶端,由客戶端對(duì)內(nèi)存、磁盤以及服務(wù)器反饋的匹配結(jié)果進(jìn)行展示。
[0090]上述這種采用內(nèi)存、磁盤和服務(wù)器同時(shí)進(jìn)行匹配的方式,客戶端可以使用SOCKET協(xié)議連接到代理服務(wù)器,并且每個(gè)匹配過程與上述圖1采用的過程相同,對(duì)此本發(fā)明實(shí)施例不再進(jìn)行闡述。
[0091]請(qǐng)參閱圖4,其示出了本發(fā)明實(shí)施例提供的信息匹配裝置的另一種結(jié)構(gòu)示意圖,在圖3基礎(chǔ)上,還可以包括:第一更新單元17、第二更新單元18、第一添加單元19和第二添加單元20。
[0092]第一更新單元17,用于當(dāng)?shù)谝黄ヅ浣Y(jié)果表明內(nèi)存中存在搜索詞組匹配的第一摘要信息時(shí),對(duì)第一摘要信息的匹配次數(shù)進(jìn)行更新,這樣內(nèi)存可以基于更新后的匹配次數(shù)對(duì)內(nèi)存中存儲(chǔ)的第一摘要信息的排序進(jìn)行調(diào)整。
[0093]第二更新單元18,用于當(dāng)?shù)诙ヅ浣Y(jié)果表明磁盤中存在搜索詞組匹配的第二摘要信息時(shí),對(duì)第二摘要信息的匹配次數(shù)進(jìn)行更新。
[0094]第一添加單元19,用于基于更新后的每條第二摘要信息的匹配次數(shù),將匹配次數(shù)大于第一預(yù)設(shè)次數(shù)的第二摘要信息標(biāo)識(shí)為第一摘要信息添加至內(nèi)存中。
[0095]第二添加單元20,用于獲取添加至內(nèi)存中的第一摘要信息的個(gè)數(shù),基于個(gè)數(shù)從匹配次數(shù)排序的最后一位開始選取第一摘要信息為第二摘要信息添加至磁盤中,所選取的第一摘要信息的個(gè)數(shù)為添加至內(nèi)存中的第二摘要信息的個(gè)數(shù),這樣內(nèi)存中第一摘要信息的匹配次數(shù)都可以大于第一預(yù)設(shè)次數(shù),即使內(nèi)存中的第一摘要信息始終為經(jīng)常被匹配的信息,當(dāng)基于搜索詞組在內(nèi)存中匹配時(shí)提高一次從內(nèi)存中匹配到第一摘要信息的概率。
[0096]例如內(nèi)存中存儲(chǔ)有10條第一摘要信息,磁盤中存儲(chǔ)有100條第二摘要信息,第一預(yù)設(shè)次數(shù)為50次。在匹配之后磁盤中有一條第二摘要信息的匹配次數(shù)大于第一預(yù)設(shè)次數(shù),則可以將其替換掉內(nèi)存中排序?yàn)樽詈笠晃坏牡谝徽畔ⅰ?br>[0097]當(dāng)然在進(jìn)行替換時(shí)還可以將添加到內(nèi)存中的第二摘要信息的匹配次數(shù)與被替換的第一摘要信息的匹配次數(shù)進(jìn)行比對(duì),當(dāng)添加到內(nèi)存中的第二摘要信息的匹配次數(shù)小于等于被替換的第一摘要信息的匹配次數(shù),則保留兩者的存儲(chǔ)位置不變;當(dāng)添加到內(nèi)存中的第二摘要信息的匹配次數(shù)大于被替換的第一摘要信息的匹配次數(shù),則將第二摘要信息添加到內(nèi)存中,并同時(shí)在磁盤中也保留該第二摘要信息。
[0098]此外服務(wù)器在對(duì)每個(gè)分區(qū)進(jìn)行匹配時(shí)也可以對(duì)第三摘要信息的匹配次數(shù)進(jìn)行更新,這樣當(dāng)服務(wù)器中某個(gè)第三摘要信息的匹配次數(shù)大于第二預(yù)設(shè)次數(shù)時(shí),也可以將大于第二預(yù)設(shè)次數(shù)的第三摘要信息替換掉磁盤中排序?yàn)樽詈笠晃坏牡诙畔?。?dāng)匹配次數(shù)大于第二預(yù)設(shè)次數(shù)的第三摘要信息的個(gè)數(shù)大于一個(gè)首時(shí),則信息匹配裝置中的替換單元可以從磁盤中匹配次數(shù)排序的最后一位開始,將磁盤中的第二摘要信息替換為服務(wù)器中匹配次數(shù)大于第二預(yù)設(shè)次數(shù)的第三摘要信息。在第三摘要信息替換磁盤中的第二摘要信息時(shí),第三摘要信息同時(shí)也會(huì)保留在服務(wù)器相應(yīng)的分區(qū)中。
[0099]如果某一原始信息更新后,對(duì)其進(jìn)行分詞重組的第三摘要信息也需要更新,具體過程可以是:信息匹配裝置中的分配單元預(yù)先為每條第三摘要信息分配一標(biāo)識(shí)符,在某個(gè)原始信息更新后信息匹配裝置中的更新單元可以基于標(biāo)識(shí)符確定更新的第三摘要信息,并將服務(wù)器中標(biāo)識(shí)符對(duì)應(yīng)的第三摘要信息進(jìn)行替換。進(jìn)一步與替換后的第三摘要信息對(duì)應(yīng)的第二摘要信息和第一摘要信息也需要更新。
[0100]需要說明的是,本說明書中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似的部分互相參見即可。對(duì)于裝置類實(shí)施例而言,由于其與方法實(shí)施例基本相似,所以描述的比較簡(jiǎn)單,相關(guān)之處參見方法實(shí)施例的部分說明即可。
[0101]最后,還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)