專利名稱:一種分布式搜索引擎系統(tǒng)及id映射表擴(kuò)充方法
技術(shù)領(lǐng)域:
本發(fā)明涉及搜索引擎技術(shù),具體地說(shuō),是涉及一種分布式搜索引擎系統(tǒng)及ID(Identifier,標(biāo)識(shí)符)映射表擴(kuò)充方法。
背景技術(shù):
在面對(duì)海量數(shù)據(jù)的分布式搜索引擎系統(tǒng)中,需要對(duì)輸入的文本信息進(jìn)行分析,從而提取出其中的切分單元。為了提高搜索引擎系統(tǒng)的檢索性能,每個(gè)切分單元被提出之后,與一個(gè)的文本ID建立映射關(guān)系,在后續(xù)的內(nèi)部處理中,都以這個(gè)文本ID作為切分單元的唯一標(biāo)識(shí)。
然而,往往搜索引擎系統(tǒng)在運(yùn)行過(guò)程中將會(huì)發(fā)現(xiàn)很多新切分單元(即ID映射表中沒(méi)有的切分單元),而這些新切分單元又不能隨時(shí)動(dòng)態(tài)的被編入索引。由于ID映射表的規(guī)模將決定系統(tǒng)能夠檢索的信息的多少,因此,這種在搜索過(guò)程中不能被動(dòng)態(tài)更新的ID映射表,將影響搜索速度和搜索質(zhì)量。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問(wèn)題是提供一種分布式搜索引擎系統(tǒng)及ID映射表擴(kuò)充方法,在分布式搜索引擎系統(tǒng)中實(shí)現(xiàn)對(duì)ID映射表的即時(shí)動(dòng)態(tài)更新。
為解決上述技術(shù)問(wèn)題,本發(fā)明提供方案如下一種分布式搜索引擎系統(tǒng),包括至少一個(gè)文本切分子系統(tǒng),其中,每個(gè)文本切分子系統(tǒng)包括切分模塊、ID映射模塊及ID映射表存儲(chǔ)模塊,切分模塊接收從互聯(lián)網(wǎng)抓取的源文本,并從源文本中提取出切分單元,傳送至ID映射模塊,ID映射模塊查找ID映射表存儲(chǔ)模塊中的ID映射表中與切分單元對(duì)應(yīng)的文本ID,并將其填入切分單元信息中,其中,所述文本切分子系統(tǒng)還包括新詞統(tǒng)計(jì)表存儲(chǔ)模塊,用于保存由ID映射模塊查找ID映射表存儲(chǔ)模塊中的ID映射表時(shí)未在ID映射表中查找到的新切分單元及其出現(xiàn)的次數(shù)值構(gòu)成的新詞統(tǒng)計(jì)表;以及,切分子系統(tǒng)收發(fā)模塊用于從新詞統(tǒng)計(jì)表存儲(chǔ)模塊中獲取新詞統(tǒng)計(jì)表,并在ID映射表存儲(chǔ)模塊中的ID映射表中建立新切分單元與文本ID的映射關(guān)系,清除新詞統(tǒng)計(jì)表存儲(chǔ)模塊中的新詞統(tǒng)計(jì)表中已在ID映射表中建立文本ID映射關(guān)系的切分單元及其出現(xiàn)次數(shù)值;所述ID映射模塊,進(jìn)一步用于向新詞統(tǒng)計(jì)表存儲(chǔ)模塊中的新詞統(tǒng)計(jì)表中統(tǒng)計(jì)在ID映射表中未查找到的切分單元及其出現(xiàn)的次數(shù)值。
本發(fā)明所述的系統(tǒng),其中,所述切分子系統(tǒng)收發(fā)模塊進(jìn)一步包括定時(shí)單元,用于計(jì)時(shí),當(dāng)定時(shí)計(jì)數(shù)值到達(dá)預(yù)設(shè)值,從新詞統(tǒng)計(jì)表存儲(chǔ)模塊中獲取新詞統(tǒng)計(jì)表。
本發(fā)明所述的系統(tǒng),其中,所述切分子系統(tǒng)收發(fā)模塊進(jìn)一步包括比較單元,用于從新詞統(tǒng)計(jì)表存儲(chǔ)模塊中獲取新詞統(tǒng)計(jì)表中保存的切分單元的出現(xiàn)次數(shù)值,并與門(mén)限值進(jìn)行比較,將出現(xiàn)次數(shù)值超出門(mén)限值的切分單元從新詞統(tǒng)計(jì)表中取出。
本發(fā)明所述的系統(tǒng),其中,還進(jìn)一步包括一個(gè)ID映射表管理子系統(tǒng),用于從各個(gè)切分子系統(tǒng)收發(fā)模塊獲取所述每個(gè)文本切分子系統(tǒng)中的新詞統(tǒng)計(jì)表,并進(jìn)行匯總統(tǒng)計(jì)產(chǎn)生新詞統(tǒng)計(jì)匯總表,為新詞統(tǒng)計(jì)匯總表中每個(gè)新切分單元分配唯一文本ID并產(chǎn)生ID映射擴(kuò)展表,將其發(fā)送至所有文本切分子系統(tǒng)中的切分子系統(tǒng)收發(fā)模塊,由各個(gè)切分子系統(tǒng)收發(fā)模塊將ID映射擴(kuò)展表發(fā)送至ID映射表存儲(chǔ)模塊對(duì)ID映射表進(jìn)行擴(kuò)展更新。
本發(fā)明所述的系統(tǒng),其中,所述ID映射表管理子系統(tǒng)進(jìn)一步包括管理子系統(tǒng)收發(fā)模塊、新詞統(tǒng)計(jì)匯總表存儲(chǔ)模塊、ID映射表擴(kuò)充模塊及ID映射擴(kuò)展表存儲(chǔ)模塊;其中,管理子系統(tǒng)收發(fā)模塊用于從各個(gè)切分子系統(tǒng)收發(fā)模塊獲取相應(yīng)的新詞統(tǒng)計(jì)表,并發(fā)送至新詞統(tǒng)計(jì)匯總表存儲(chǔ)模塊;統(tǒng)計(jì)匯總完畢后,通知ID映射表擴(kuò)充模塊;以及從ID映射擴(kuò)展表存儲(chǔ)模塊中獲取ID映射擴(kuò)展表并發(fā)送至各個(gè)切分子系統(tǒng)收發(fā)模塊;新詞統(tǒng)計(jì)匯總表存儲(chǔ)模塊用于匯總統(tǒng)計(jì)并保存由管理子系統(tǒng)收發(fā)模塊發(fā)送來(lái)的各個(gè)文本切分子系統(tǒng)中的新詞統(tǒng)計(jì)表;ID映射表擴(kuò)充模塊用于接收到管理子系統(tǒng)收發(fā)模塊發(fā)送來(lái)的新詞統(tǒng)計(jì)匯總表統(tǒng)計(jì)匯總完畢的通知后,從新詞統(tǒng)計(jì)匯總表存儲(chǔ)模塊中獲取新詞統(tǒng)計(jì)匯總表中的新切分單元,建立唯一文本ID映射關(guān)系并加入到ID映射擴(kuò)展表存儲(chǔ)模塊中的ID映射擴(kuò)展表中,并在新詞統(tǒng)計(jì)匯總表存儲(chǔ)模塊中的新詞統(tǒng)計(jì)匯總表中刪除已獲取的新切分單元及其出現(xiàn)次數(shù)值;以及處理完新詞統(tǒng)計(jì)匯總表中的所有匯總的新切分單元,通知管理子系統(tǒng)收發(fā)模塊ID映射擴(kuò)展表更新完畢。
ID映射擴(kuò)展表存儲(chǔ)模塊用于保存從ID映射表擴(kuò)充模塊發(fā)送來(lái)的新切分單元到文本ID的映射關(guān)系的ID映射擴(kuò)展表。
本發(fā)明所述的系統(tǒng),其中,所述管理子系統(tǒng)收發(fā)模塊進(jìn)一步包括定時(shí)單元,用于計(jì)時(shí),當(dāng)定時(shí)計(jì)數(shù)值到達(dá)預(yù)設(shè)值,從各個(gè)切分子系統(tǒng)收發(fā)模塊獲取相應(yīng)的新詞統(tǒng)計(jì)表。
本發(fā)明所述的系統(tǒng),其中,所述ID映射表擴(kuò)充模塊進(jìn)一步包括比較單元,用于從新詞統(tǒng)計(jì)匯總表存儲(chǔ)模塊中獲取新詞匯總統(tǒng)計(jì)表中保存的新切分單元的出現(xiàn)次數(shù)值,并與門(mén)限值進(jìn)行比較,將出現(xiàn)次數(shù)值超出門(mén)限值的新切分單元從新詞匯總統(tǒng)計(jì)表中取出。
一種ID映射表擴(kuò)充方法,用于具有至少一個(gè)文本切分子系統(tǒng)的分布式搜索引擎系統(tǒng),包括如下步驟1、每個(gè)文本切分子系統(tǒng)分別統(tǒng)計(jì)在各自ID映射表中無(wú)對(duì)應(yīng)文本ID映射關(guān)系的新切分單元,2、每個(gè)文本切分子系統(tǒng)為統(tǒng)計(jì)得到的每個(gè)新切分單元分別分配唯一的文本ID,建立映射關(guān)系,然后各自更新ID映射表。
本發(fā)明所述的方法,其中,所述步驟2,是每個(gè)文本切分子系統(tǒng)為統(tǒng)計(jì)得到的每個(gè)新切分單元分別分配唯一的文本ID,并建立映射關(guān)系,然后各自定時(shí)更新ID映射表。
本發(fā)明所述的方法,其中,所述步驟2,是在每個(gè)文本切分子系統(tǒng)中,當(dāng)所統(tǒng)計(jì)得到的新切分單元的出現(xiàn)次數(shù)超過(guò)門(mén)限值時(shí),為所述出現(xiàn)次數(shù)超過(guò)門(mén)限值的每個(gè)新切分單元分別分配唯一的文本ID,并建立映射關(guān)系,然后各自更新ID映射表。
本發(fā)明所述的方法,其中,所述步驟2進(jìn)一步包括如下步驟2-1、將每個(gè)文本切分子系統(tǒng)統(tǒng)計(jì)得到的新切分單元進(jìn)行匯總,2-2、為匯總后的每個(gè)新切分單元分配唯一的文本ID,并建立映射關(guān)系,然后分別更新每個(gè)文本切分子系統(tǒng)中ID映射表。
本發(fā)明所述的方法,其中,所述步驟2-1,是定時(shí)地將每個(gè)文本切分子系統(tǒng)獲得的新切分單元進(jìn)行匯總。
本發(fā)明所述的方法,其中,所述步驟2-2,是為匯總后的新切分單元中出現(xiàn)次數(shù)超過(guò)門(mén)限值的每個(gè)新切分單元分別分配唯一的文本ID,并建立映射關(guān)系,然后分別更新每個(gè)文本切分子系統(tǒng)中ID映射表。
本發(fā)明所述系統(tǒng)及方法,通過(guò)在每個(gè)文本切分子系統(tǒng)中分別統(tǒng)計(jì)新出現(xiàn)的切分單元并更新ID映射表,實(shí)現(xiàn)了每個(gè)文本切分子系統(tǒng)中對(duì)ID映射表的即時(shí)動(dòng)態(tài)更新;又進(jìn)一步通過(guò)增加的ID映射表管理子系統(tǒng),對(duì)每個(gè)文本切分子系統(tǒng)中所統(tǒng)計(jì)出的新出現(xiàn)的切分單元進(jìn)行匯總,統(tǒng)計(jì)出統(tǒng)一的映射關(guān)系,并發(fā)送至所有文本切分子系統(tǒng),來(lái)統(tǒng)一更新每個(gè)文本切分子系統(tǒng)中的ID映射表,實(shí)現(xiàn)了搜索引擎系統(tǒng)中全局一致的文本ID分配,即在實(shí)現(xiàn)ID映射表即時(shí)動(dòng)態(tài)更新的同時(shí),又確保了在不同服務(wù)器上的ID映射表的一致性,使得該分布式搜索引擎系統(tǒng)能夠提高搜索速度及搜索質(zhì)量,從而增加搜索的可靠性。
本發(fā)明所要解決的技術(shù)問(wèn)題、技術(shù)方案要點(diǎn)及有益效果,將結(jié)合實(shí)施例,參照附圖作進(jìn)一步說(shuō)明。
圖1為本發(fā)明實(shí)施例所述系統(tǒng)的結(jié)構(gòu)示意圖;圖2為本發(fā)明另一實(shí)施例所述系統(tǒng)的結(jié)構(gòu)示意圖;圖3為本發(fā)明實(shí)施例所述方法的流程圖;圖4為本發(fā)明另一實(shí)施例所述方法的流程圖。
具體實(shí)施例方式
參照?qǐng)D1,本發(fā)明實(shí)施例所述分布式搜索引擎系統(tǒng),包括文本切分子系統(tǒng)1至N,N≥1,其中,每個(gè)文本切分子系統(tǒng)包括切分模塊10、ID映射模塊20、ID映射表存儲(chǔ)模塊30,新詞統(tǒng)計(jì)表存儲(chǔ)模塊40,以及切分子系統(tǒng)收發(fā)模塊50。
其中,切分模塊10,用于在面對(duì)海量數(shù)據(jù)的搜索引擎系統(tǒng)中,從互聯(lián)網(wǎng)上抓取的源文本,并從源文本中提取出切分單元,將提取出的切分單元發(fā)送至ID映射模塊20;ID映射表存儲(chǔ)模塊30,用于保存從切分單元到文本ID之間一一對(duì)應(yīng)關(guān)系的ID映射表,供ID映射模塊查找;ID映射模塊20,用于接收切分模塊10輸出的切分單元,負(fù)責(zé)在ID映射表存儲(chǔ)模塊30中的ID映射表中查找每一個(gè)切分單元所對(duì)應(yīng)的文本ID,并將查找到文本ID填入切分單元信息中;對(duì)于那些沒(méi)有在ID映射表中找到的新切分單元,ID映射模塊要在新詞統(tǒng)計(jì)表存儲(chǔ)模塊中的新詞統(tǒng)計(jì)表中查找這一切分單元,并在找到后將其出現(xiàn)的次數(shù)值加1,然后將這一切分單元丟棄。如果在新詞統(tǒng)計(jì)表中也沒(méi)有找到,就在新詞統(tǒng)計(jì)表中創(chuàng)建一組用于存儲(chǔ)新切分單元及其出現(xiàn)次數(shù)值的新表項(xiàng),并將其出現(xiàn)次數(shù)值置為1,然后再將其丟棄;新詞統(tǒng)計(jì)表存儲(chǔ)模塊40,用于保存由ID映射模塊查找ID映射表存儲(chǔ)模塊中的ID映射表時(shí)未在ID映射表中查找到的新切分單元及其出現(xiàn)的次數(shù)值構(gòu)成的新詞統(tǒng)計(jì)表;切分子系統(tǒng)收發(fā)模塊50用于從新詞統(tǒng)計(jì)表存儲(chǔ)模塊中獲取新詞統(tǒng)計(jì)表,并在ID映射表存儲(chǔ)模塊中的ID映射表中建立新切分單元與文本ID的映射關(guān)系,清除新詞統(tǒng)計(jì)表存儲(chǔ)模塊中的新詞統(tǒng)計(jì)表中已在ID映射表中建立文本ID映射關(guān)系的切分單元及其出現(xiàn)次數(shù)值。這里,所述切分子系統(tǒng)收發(fā)模塊50中還可以增加一個(gè)定時(shí)單元(圖中未示出),用于計(jì)時(shí),當(dāng)定時(shí)計(jì)數(shù)值到達(dá)預(yù)設(shè)值,從新詞統(tǒng)計(jì)表存儲(chǔ)模塊中獲取新詞統(tǒng)計(jì)表。或者,可以增加一個(gè)比較單元(圖中未示出),用于從新詞統(tǒng)計(jì)表存儲(chǔ)模塊中獲取新詞統(tǒng)計(jì)表中保存的新切分單元的出現(xiàn)次數(shù)值,并與門(mén)限值進(jìn)行比較,將出現(xiàn)次數(shù)值超出門(mén)限值的新切分單元從新詞統(tǒng)計(jì)表中取出。
參照?qǐng)D2,為本發(fā)明另一實(shí)施例所述分布式搜索引擎系統(tǒng),包括至少一個(gè)文本切分子系統(tǒng)1至N,以及一個(gè)ID映射表管理子系統(tǒng)100。
其中,所述每個(gè)文本切分子系統(tǒng)包括切分模塊10、ID映射模塊20、ID映射表存儲(chǔ)模塊30,新詞統(tǒng)計(jì)表存儲(chǔ)模塊40,以及切分子系統(tǒng)收發(fā)模塊50。
所述ID映射表管理子系統(tǒng)100,用于從各個(gè)切分子系統(tǒng)收發(fā)模塊獲取所述每個(gè)文本切分子系統(tǒng)中的新詞統(tǒng)計(jì)表,并進(jìn)行匯總統(tǒng)計(jì)產(chǎn)生新詞統(tǒng)計(jì)匯總表,為新詞統(tǒng)計(jì)匯總表中每個(gè)新切分單元分配唯一文本ID并產(chǎn)生ID映射擴(kuò)展表,將其發(fā)送至所有文本切分子系統(tǒng)中的切分子系統(tǒng)收發(fā)模塊50,由各個(gè)切分子系統(tǒng)收發(fā)模塊50將ID映射擴(kuò)展表發(fā)送至ID映射表存儲(chǔ)模塊30對(duì)ID映射表進(jìn)行擴(kuò)展更新;包括管理子系統(tǒng)收發(fā)模塊140、新詞統(tǒng)計(jì)匯總表存儲(chǔ)模塊130、ID映射表擴(kuò)充模塊110及ID映射擴(kuò)展表存儲(chǔ)模塊120。
其中,所述管理子系統(tǒng)收發(fā)模塊140,用于從各個(gè)切分子系統(tǒng)收發(fā)模塊50獲取相應(yīng)的新詞統(tǒng)計(jì)表,并發(fā)送至新詞統(tǒng)計(jì)匯總表存儲(chǔ)模塊130進(jìn)行匯總統(tǒng)計(jì);統(tǒng)計(jì)匯總完畢后,通知ID映射表擴(kuò)充模塊110;以及從ID映射擴(kuò)展表存儲(chǔ)模塊120中獲取ID映射擴(kuò)展表,并發(fā)送至各個(gè)切分子系統(tǒng)收發(fā)模塊50;這里,所述管理子系統(tǒng)收發(fā)模塊140還可以增加一個(gè)定時(shí)單元(圖中未示出),用于計(jì)時(shí),當(dāng)定時(shí)計(jì)數(shù)值到達(dá)預(yù)設(shè)值,向各個(gè)切分子系統(tǒng)收發(fā)模塊請(qǐng)求并獲取相應(yīng)的新詞統(tǒng)計(jì)表。
所述新詞統(tǒng)計(jì)匯總表存儲(chǔ)模塊130,用于匯總統(tǒng)計(jì)并保存由管理子系統(tǒng)收發(fā)模塊140發(fā)送來(lái)的各個(gè)文本切分子系統(tǒng)中的新詞統(tǒng)計(jì)表;所述ID映射表擴(kuò)充模塊110,用于接收到管理子系統(tǒng)收發(fā)模塊140發(fā)送來(lái)的新詞統(tǒng)計(jì)匯總表統(tǒng)計(jì)匯總完畢的通知后,從新詞統(tǒng)計(jì)匯總表存儲(chǔ)模塊130中的新詞統(tǒng)計(jì)匯總表中獲取新切分單元,為每個(gè)新切分單元分配唯一文本ID,建立映射關(guān)系,并加入到ID映射擴(kuò)展表存儲(chǔ)模塊120中的ID映射擴(kuò)展表中,并在新詞統(tǒng)計(jì)匯總表存儲(chǔ)模塊130中的新詞統(tǒng)計(jì)匯總表中刪除已獲取的新切分單元及其出現(xiàn)次數(shù)值;以及處理完新詞統(tǒng)計(jì)匯總表中的所有匯總的新切分單元,通知管理子系統(tǒng)收發(fā)模塊140 ID映射擴(kuò)展表更新完畢。這里,所述ID映射表擴(kuò)充模塊110中還可以增加一個(gè)比較單元(圖中未示出),用于從新詞統(tǒng)計(jì)匯總表存儲(chǔ)模塊中獲取新詞統(tǒng)計(jì)匯總表中保存的切分單元的出現(xiàn)次數(shù)值,并與門(mén)限值進(jìn)行比較,將出現(xiàn)次數(shù)值超出門(mén)限值的新切分單元從新詞匯總統(tǒng)計(jì)表中取出。
所述ID映射擴(kuò)展表存儲(chǔ)模塊120,用于保存從ID映射表擴(kuò)充模塊110發(fā)送來(lái)的切分單元到文本ID的映射關(guān)系的ID映射擴(kuò)展表。這里,位于ID映射表管理子系統(tǒng)中的這個(gè)ID映射擴(kuò)展表是整個(gè)搜索引擎系統(tǒng)中最新的ID映射表。
首先,在每個(gè)文本切分子系統(tǒng)中,切分模塊10從互聯(lián)網(wǎng)上抓取的源文本,并從源文本中提取出切分單元,將其發(fā)送至ID映射模塊20,ID映射模塊20在ID映射表存儲(chǔ)模塊30中的ID映射表中查找每一個(gè)切分單元所對(duì)應(yīng)的文本ID,并將其填入切分單元信息中;對(duì)于那些沒(méi)有在ID映射表中找到的新切分單元,ID映射模塊20將在新詞統(tǒng)計(jì)表存儲(chǔ)模塊40中的新詞統(tǒng)計(jì)表中查找這一切分單元,如果找到,則將其出現(xiàn)的次數(shù)加1,然后將這一切分單元丟棄。如果在新詞統(tǒng)計(jì)表中也沒(méi)有找到,就在新詞統(tǒng)計(jì)表中創(chuàng)建一組用于存儲(chǔ)新切分單元及其出現(xiàn)次數(shù)值的新表項(xiàng),并將其出現(xiàn)次數(shù)值置為1,然后再將其丟棄。
同時(shí),在ID映射表管理子系統(tǒng)100中,管理子系統(tǒng)收發(fā)模塊140要向搜索引擎系統(tǒng)中所有的文本切分子系統(tǒng)的切分子系統(tǒng)收發(fā)模塊50發(fā)新詞統(tǒng)計(jì)表獲取請(qǐng)求消息(如果有定時(shí)單元,可以定時(shí)發(fā)送獲取請(qǐng)求消息),然后將收到的新詞統(tǒng)計(jì)表發(fā)送到ID映射表管理子系統(tǒng)100中的新詞統(tǒng)計(jì)匯總表存儲(chǔ)模塊130中。匯總過(guò)程中,同一切分單元在不同文本切分子系統(tǒng)中出現(xiàn)的次數(shù)被累加在一起。當(dāng)所有文本切分子系統(tǒng)的新詞統(tǒng)計(jì)表都已經(jīng)加入完畢之后,管理子系統(tǒng)收發(fā)模塊140向ID映射表擴(kuò)充模塊110發(fā)送數(shù)據(jù)匯總完畢的消息。
ID映射表擴(kuò)充模塊110在收到數(shù)據(jù)匯總完畢的消息之后,開(kāi)始對(duì)新詞統(tǒng)計(jì)匯總表存儲(chǔ)模塊130中的新詞統(tǒng)計(jì)匯總表進(jìn)行處理,可以將其中出現(xiàn)次數(shù)超過(guò)指定門(mén)限值的新切分單元,分配唯一的文本ID,建立映射關(guān)系,加入到ID映射擴(kuò)展表存儲(chǔ)模塊120中的ID映射擴(kuò)展表中。當(dāng)所有表項(xiàng)都處理完之后,新詞統(tǒng)計(jì)匯總表中已被分配過(guò)文本ID的切分單元將被ID映射表擴(kuò)充模塊110清空,然后ID映射表擴(kuò)充模塊110向管理子系統(tǒng)收發(fā)模塊140發(fā)送ID映射擴(kuò)展表更新完畢的消息。
管理子系統(tǒng)收發(fā)模塊140在收到ID映射表更新完畢消息之后,將ID映射擴(kuò)展表存儲(chǔ)模塊120中更新后的ID映射擴(kuò)展表發(fā)送至搜索引擎系統(tǒng)中所有的文本切分子系統(tǒng)中的切分子系統(tǒng)收發(fā)模塊50。
所有文本切分子系統(tǒng)中的切分子系統(tǒng)收發(fā)模塊50從ID映射表管理子系統(tǒng)接收到更新的ID映射表之后,就用更新的ID映射表替換舊表,供ID映射模塊使用。在此之后,搜索引擎建立的索引中將包括這些新發(fā)現(xiàn)的切分單元,而檢索系統(tǒng)也可以對(duì)這些新切分單元進(jìn)行檢索。
參照?qǐng)D3,為本發(fā)明實(shí)施例所述方法的流程圖,本發(fā)明所述的 ID映射表擴(kuò)充方法,用于具有至少一個(gè)文本切分子系統(tǒng)的分布式搜索引擎系統(tǒng),包括如下步驟步驟301每個(gè)文本切分子系統(tǒng)分別統(tǒng)計(jì)在各自ID映射表中無(wú)對(duì)應(yīng)文本ID映射關(guān)系的新切分單元,步驟302每個(gè)文本切分子系統(tǒng)為統(tǒng)計(jì)得到的新切分單元分別分配唯一的文本ID,建立映射關(guān)系,然后各自更新ID映射表。這里,可以采用定時(shí)各自更新ID映射表,或者,在每個(gè)文本切分子系統(tǒng)中,當(dāng)所統(tǒng)計(jì)得到的新切分單元的出現(xiàn)次數(shù)超過(guò)門(mén)限值時(shí),為所述出現(xiàn)次數(shù)超過(guò)門(mén)限值的新切分單元分別分配唯一的文本ID,并建立映射關(guān)系,然后各自更新ID映射表。
參照?qǐng)D4,為本發(fā)明另一實(shí)施例所述方法的流程圖,本發(fā)明所述的ID映射表擴(kuò)充方法,用于具有至少一個(gè)文本切分子系統(tǒng)的分布式搜索引擎系統(tǒng),包括如下步驟步驟401每個(gè)文本切分子系統(tǒng)分別統(tǒng)計(jì)在各自ID映射表中無(wú)對(duì)應(yīng)文本ID映射關(guān)系的新切分單元,步驟402將每個(gè)文本切分子系統(tǒng)統(tǒng)計(jì)得到的新切分單元進(jìn)行匯總,這里,可以采取定時(shí)地將每個(gè)文本切分子系統(tǒng)獲得的新切分單元進(jìn)行匯總;步驟403為匯總后的每個(gè)新切分單元分配唯一的文本ID,并在每個(gè)新切分單元與分配給它的文本ID之間建立映射關(guān)系,然后分別更新每個(gè)文本切分子系統(tǒng)中ID映射表;這里,同樣可以僅對(duì)匯總后的新切分單元中出現(xiàn)次數(shù)超過(guò)門(mén)限值的新切分單元分別分配唯一的文本ID,并建立映射關(guān)系,然后分別更新每個(gè)文本切分子系統(tǒng)中ID映射表。
綜上所述,采用圖1所述系統(tǒng)及圖3所述方法,可以實(shí)現(xiàn)每個(gè)文本切分子系統(tǒng)中對(duì)各自ID映射表的即時(shí)動(dòng)態(tài)更新。采用圖2所述系統(tǒng)及圖4所述方法,可以實(shí)現(xiàn)在各個(gè)文本切分子系統(tǒng)中獲取的新切分單元在整個(gè)搜索引擎系統(tǒng)中具有全局一致的文本ID分配,即在實(shí)現(xiàn)ID映射表即時(shí)動(dòng)態(tài)更新的同時(shí),又確保了在不同服務(wù)器上的ID映射表的一致性,使得該分布式搜索引擎系統(tǒng)能夠提高搜索速度及搜索質(zhì)量,從而增加搜索的可靠性。
本發(fā)明所述的一種分布式搜索引擎系統(tǒng)及ID映射表擴(kuò)充方法,并不僅僅限于說(shuō)明書(shū)和實(shí)施方式中所列運(yùn)用,它完全可以被適用于各種適合本發(fā)明之領(lǐng)域,對(duì)于熟悉本領(lǐng)域的人員而言可容易地實(shí)現(xiàn)另外的優(yōu)點(diǎn)和進(jìn)行修改,因此在不背離權(quán)利要求及等同范圍所限定的一般概念的精神和范圍的情況下,本發(fā)明并不限于特定的細(xì)節(jié)、代表性的設(shè)備和這里示出與描述的圖示示例。
權(quán)利要求
1.一種分布式搜索引擎系統(tǒng),包括文本切分子系統(tǒng)(1)至(N),N≥1,其中,每個(gè)文本切分子系統(tǒng)包括切分模塊(10)、ID映射模塊(20)及ID映射表存儲(chǔ)模塊(30),切分模塊(10)接收從互聯(lián)網(wǎng)抓取的源文本,并從源文本中提取出切分單元,傳送至ID映射模塊(20),ID映射模塊(20)查找ID映射表存儲(chǔ)模塊(30)中的ID映射表中與切分單元對(duì)應(yīng)的文本ID,并將其填入切分單元信息中,其特征在于,所述文本切分子系統(tǒng)還包括新詞統(tǒng)計(jì)表存儲(chǔ)模塊(40),用于保存由ID映射模塊查找ID映射表存儲(chǔ)模塊中的ID映射表時(shí)未在ID映射表中查找到的新切分單元及其出現(xiàn)的次數(shù)值構(gòu)成的新詞統(tǒng)計(jì)表;以及,切分子系統(tǒng)收發(fā)模塊(50)用于從新詞統(tǒng)計(jì)表存儲(chǔ)模塊中獲取新詞統(tǒng)計(jì)表,并在ID映射表存儲(chǔ)模塊中的ID映射表中建立新切分單元與文本ID的映射關(guān)系,清除新詞統(tǒng)計(jì)表存儲(chǔ)模塊中的新詞統(tǒng)計(jì)表中已在ID映射表中建立文本ID映射關(guān)系的切分單元及其出現(xiàn)次數(shù)值;所述ID映射模塊(20),進(jìn)一步用于向新詞統(tǒng)計(jì)表存儲(chǔ)模塊中的新詞統(tǒng)計(jì)表中統(tǒng)計(jì)在ID映射表中未查找到的切分單元及其出現(xiàn)的次數(shù)值。
2.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于所述切分子系統(tǒng)收發(fā)模塊(50)進(jìn)一步包括定時(shí)單元,用于計(jì)時(shí),當(dāng)定時(shí)計(jì)數(shù)值到達(dá)預(yù)設(shè)值,從新詞統(tǒng)計(jì)表存儲(chǔ)模塊中獲取新詞統(tǒng)計(jì)表。
3.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于所述切分子系統(tǒng)收發(fā)模塊(50)進(jìn)一步包括比較單元,用于從新詞統(tǒng)計(jì)表存儲(chǔ)模塊中獲取新詞統(tǒng)計(jì)表中保存的切分單元的出現(xiàn)次數(shù)值,并與門(mén)限值進(jìn)行比較,將出現(xiàn)次數(shù)值超出門(mén)限值的切分單元從新詞統(tǒng)計(jì)表中取出。
4.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于還進(jìn)一步包括一個(gè)ID映射表管理子系統(tǒng)(100),用于從各個(gè)切分子系統(tǒng)收發(fā)模塊獲取所述每個(gè)文本切分子系統(tǒng)中的新詞統(tǒng)計(jì)表,并進(jìn)行匯總統(tǒng)計(jì)產(chǎn)生新詞統(tǒng)計(jì)匯總表,為新詞統(tǒng)計(jì)匯總表中每個(gè)新切分單元分配唯一文本ID并產(chǎn)生ID映射擴(kuò)展表,將其發(fā)送至所有文本切分子系統(tǒng)中的切分子系統(tǒng)收發(fā)模塊(50),由各個(gè)切分子系統(tǒng)收發(fā)模塊(50)將ID映射擴(kuò)展表發(fā)送至ID映射表存儲(chǔ)模塊(30)對(duì)ID映射表進(jìn)行擴(kuò)展更新。
5.根據(jù)權(quán)利要求4所述的系統(tǒng),其特征在于所述ID映射表管理子系統(tǒng)(100)進(jìn)一步包括管理子系統(tǒng)收發(fā)模塊(140)、新詞統(tǒng)計(jì)匯總表存儲(chǔ)模塊(130)、ID映射表擴(kuò)充模塊(110)及ID映射擴(kuò)展表存儲(chǔ)模塊(120);其中,管理子系統(tǒng)收發(fā)模塊(140)用于從各個(gè)切分子系統(tǒng)收發(fā)模塊(50)獲取相應(yīng)的新詞統(tǒng)計(jì)表,并發(fā)送至新詞統(tǒng)計(jì)匯總表存儲(chǔ)模塊(130);統(tǒng)計(jì)匯總完畢后,通知ID映射表擴(kuò)充模塊(110);以及從ID映射擴(kuò)展表存儲(chǔ)模塊(120)中獲取ID映射擴(kuò)展表并發(fā)送至各個(gè)切分子系統(tǒng)收發(fā)模塊(50);新詞統(tǒng)計(jì)匯總表存儲(chǔ)模塊(130)用于匯總統(tǒng)計(jì)并保存由管理子系統(tǒng)收發(fā)模塊(140)發(fā)送來(lái)的各個(gè)文本切分子系統(tǒng)中的新詞統(tǒng)計(jì)表;ID映射表擴(kuò)充模塊(110)用于接收到管理子系統(tǒng)收發(fā)模塊(140)發(fā)送來(lái)的新詞統(tǒng)計(jì)匯總表統(tǒng)計(jì)匯總完畢的通知后,從新詞統(tǒng)計(jì)匯總表存儲(chǔ)模塊(130)中獲取新詞統(tǒng)計(jì)匯總表中的新切分單元,建立唯一文本ID映射關(guān)系并加入到ID映射擴(kuò)展表存儲(chǔ)模塊(120)中的ID映射擴(kuò)展表中,并在新詞統(tǒng)計(jì)匯總表存儲(chǔ)模塊(130)中的新詞統(tǒng)計(jì)匯總表中刪除已獲取的新切分單元及其出現(xiàn)次數(shù)值;以及處理完新詞統(tǒng)計(jì)匯總表中的所有匯總的新切分單元,通知管理子系統(tǒng)收發(fā)模塊(140)ID映射擴(kuò)展表更新完畢。ID映射擴(kuò)展表存儲(chǔ)模塊(120)用于保存從ID映射表擴(kuò)充模塊(110)發(fā)送來(lái)的新切分單元到文本ID的映射關(guān)系的ID映射擴(kuò)展表。
6.根據(jù)權(quán)利要求5所述的系統(tǒng),其特征在于所述管理子系統(tǒng)收發(fā)模塊(140)進(jìn)一步包括定時(shí)單元,用于計(jì)時(shí),當(dāng)定時(shí)計(jì)數(shù)值到達(dá)預(yù)設(shè)值,從各個(gè)切分子系統(tǒng)收發(fā)模塊獲取相應(yīng)的新詞統(tǒng)計(jì)表。
7.根據(jù)權(quán)利要求5所述的系統(tǒng),其特征在于所述ID映射表擴(kuò)充模塊(110)進(jìn)一步包括比較單元,用于從新詞統(tǒng)計(jì)匯總表存儲(chǔ)模塊中獲取新詞匯總統(tǒng)計(jì)表中保存的新切分單元的出現(xiàn)次數(shù)值,并與門(mén)限值進(jìn)行比較,將出現(xiàn)次數(shù)值超出門(mén)限值的新切分單元從新詞匯總統(tǒng)計(jì)表中取出。
8.一種ID映射表擴(kuò)充方法,用于具有至少一個(gè)文本切分子系統(tǒng)的分布式搜索引擎系統(tǒng),其特征在于包括如下步驟(1)、每個(gè)文本切分子系統(tǒng)分別統(tǒng)計(jì)在各自ID映射表中無(wú)對(duì)應(yīng)文本ID映射關(guān)系的新切分單元,(2)、每個(gè)文本切分子系統(tǒng)為統(tǒng)計(jì)得到的每個(gè)新切分單元分別分配唯一的文本ID,建立映射關(guān)系,然后各自更新ID映射表。
9.根據(jù)權(quán)利要求8所述的方法,其特征在于所述步驟(2),是每個(gè)文本切分子系統(tǒng)為統(tǒng)計(jì)得到的每個(gè)新切分單元分別分配唯一的文本ID,并建立映射關(guān)系,然后各自定時(shí)更新ID映射表。
10.根據(jù)權(quán)利要求8所述的方法,其特征在于所述步驟(2),是在每個(gè)文本切分子系統(tǒng)中,當(dāng)所統(tǒng)計(jì)得到的新切分單元的出現(xiàn)次數(shù)超過(guò)門(mén)限值時(shí),為所述出現(xiàn)次數(shù)超過(guò)門(mén)限值的每個(gè)新切分單元分別分配唯一的文本ID,并建立映射關(guān)系,然后各自更新ID映射表。
11.根據(jù)權(quán)利要求8所述的方法,其特征在于所述步驟(2)進(jìn)一步包括如下步驟(2-1)、將每個(gè)文本切分子系統(tǒng)統(tǒng)計(jì)得到的新切分單元進(jìn)行匯總,(2-2)、為匯總后的每個(gè)新切分單元分配唯一的文本ID,并建立映射關(guān)系,然后分別更新每個(gè)文本切分子系統(tǒng)中ID映射表。
12.根據(jù)權(quán)利要求11所述的方法,其特征在于所述步驟(2-1),是定時(shí)地將每個(gè)文本切分子系統(tǒng)獲得的新切分單元進(jìn)行匯總。
13.根據(jù)權(quán)利要求11所述的方法,其特征在于所述步驟(2-2),是為匯總后的新切分單元中出現(xiàn)次數(shù)超過(guò)門(mén)限值的每個(gè)新切分單元分別分配唯一的文本ID,并建立映射關(guān)系,然后分別更新每個(gè)文本切分子系統(tǒng)中ID映射表。
全文摘要
本發(fā)明公開(kāi)了一種分布式搜索引擎系統(tǒng)及ID映射表擴(kuò)充方法,包括至少一文本切分子系統(tǒng),文本切分子系統(tǒng)包括切分模塊、ID映射模塊及ID映射表存儲(chǔ)模塊,切分模塊將從源文本中提取出的切分單元發(fā)至ID映射模塊,ID映射模塊在ID映射表中查找與切分單元對(duì)應(yīng)的文本ID,并填入切分單元信息中,還包括新詞統(tǒng)計(jì)表存儲(chǔ)模塊,用于保存由未在ID映射表中查找到的切分單元及出現(xiàn)次數(shù)構(gòu)成的新詞統(tǒng)計(jì)表;切分子系統(tǒng)收發(fā)模塊用于獲取新詞統(tǒng)計(jì)表,并更新ID映射表,清除新詞統(tǒng)計(jì)表中已在ID映射表中更新過(guò)ID映射關(guān)系的切分單元及其出現(xiàn)次數(shù);ID映射模塊,用于在新詞統(tǒng)計(jì)表中統(tǒng)計(jì)在ID映射表中未查找到的切分單元及其出現(xiàn)的次數(shù)。
文檔編號(hào)G06F17/30GK101071423SQ20061006135
公開(kāi)日2007年11月14日 申請(qǐng)日期2006年6月23日 優(yōu)先權(quán)日2006年6月23日
發(fā)明者楊海松 申請(qǐng)人:騰訊科技(深圳)有限公司