欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

基于垂直搜索引擎的信息存儲、查詢方法及其裝置的制作方法

文檔序號:6440691閱讀:258來源:國知局
專利名稱:基于垂直搜索引擎的信息存儲、查詢方法及其裝置的制作方法
技術(shù)領(lǐng)域
本申請涉及搜索引擎技術(shù)領(lǐng)域,尤其涉及一種基于垂直搜索引擎的信息存儲方法及其裝置,以及一種基于垂直搜索引擎的信息查找方法及其裝置。
背景技術(shù)
垂直搜索引擎是相對通用搜索引擎的信息量大、查詢不準確、深度不夠等問題而提出來的新的搜索引擎服務(wù)模式,是搜索引擎的細分和延伸,用于針對某一特定的領(lǐng)域、某一特定的人群或者某一特定需求,提供有一定價值的信息和相關(guān)服務(wù)。垂直搜索引擎通過對網(wǎng)頁庫中的某類專門信息進行整合,定向、分字段抽取出需要的數(shù)據(jù),對這些數(shù)據(jù)進行處理后再以某種形式返回給用戶。垂直搜索引擎的基本架構(gòu)如圖1所示,其中,垂直搜索引擎的索引系統(tǒng)數(shù)據(jù)庫主要包括字典與倒排表、正排表/屬性(Attribute)和摘要(Summary)三部分。如圖2所示,所述字典和倒排表組合在一起稱之為倒排索引,字典是指由索引詞組成的索引表,在字典中保存了各種中英文詞匯以及對應(yīng)該些詞匯的一些統(tǒng)計信息。倒排表是指每個索引詞出現(xiàn)過的文檔集合,以及命中位置等信息組成的記錄表。倒排表中的各個文檔以文檔編號唯一標識,每個文檔編號是由該文檔所在網(wǎng)頁的URL經(jīng)過MD5算法變換得到的一個整型值。字典一般存儲在內(nèi)存中,倒排表一般存儲在硬盤上。正排表/屬性是存儲在內(nèi)存中,用于記錄倒排表中的每個文檔的屬性值的集合。其結(jié)構(gòu)組成如圖3所示,包括頭信息文件、正排表索引文件以及正排表數(shù)據(jù)文件。其中,頭信息文件用于存儲文檔字段值的類型信息、文檔數(shù)量等信息,正排表索引文件用于存儲每個文檔中預(yù)設(shè)字段的屬性值在正排表數(shù)據(jù)文件中的起始位置的偏移量和屬性值個數(shù)的信息對,正排表數(shù)據(jù)文件,用于按照預(yù)設(shè)順序存儲每個文檔的預(yù)設(shè)字段的屬性值。摘要是用于將搜索結(jié)果返回的文檔的字段信息的集合?;谏鲜龃怪彼阉饕娴幕炯軜?gòu),垂直搜索引擎的查詢原理具體如下:S1:將用戶輸入的搜索詞作拆分處理,根據(jù)拆分后的搜索詞進行倒排索引。即根據(jù)拆分后的搜索詞,分別在字典中查找與該拆分后的各搜索詞對應(yīng)的詞典信息,然后根據(jù)查找到的詞典信息在倒排表中查詢出現(xiàn)過該詞典的所有文檔的標識信息的集合。S2:根據(jù)SI中查找到的所有文檔的標識信息,在正排表中查詢對應(yīng)每個文檔標識信息的文檔的屬性值。S3:按照預(yù)設(shè)的排序算法,根據(jù)在正排表中查找到的每個文檔的屬性值,計算每個文檔的排序分值,并根據(jù)計算得到的每個文檔的排序分值,將各文檔進行排序處理,根據(jù)排序后的順序,依次向用戶返回文檔的摘要信息。這里以輸入的搜索詞匯是dell computer為例,對上述垂直搜索引擎過程做以詳細說明。首先將輸入的搜索詞匯做分詞處理,分成dell和computer,然后在字典里分別查詢dell和computer,得到與dell和computer分別對應(yīng)的倒排表,如圖4所示,以computer為例,對應(yīng)computer的文檔標識信息為O和2,即computer在標識信息為O和2的文檔中出現(xiàn)過。對應(yīng)標識信息O和2,在正排表中查詢文檔標識為O和2的文檔對應(yīng)的屬性值。例如,以標識信息2為例,在正排表索引文件中取得與該文檔對應(yīng)的屬性值實際保存的起始存儲位置的偏移量和屬性值個數(shù)信息對,即11/6,其中11表示該文檔對應(yīng)的屬性值實際保存的起始位置的偏移量,6表示該文檔的屬性值個數(shù)(如圖4所示),然后根據(jù)獲得的偏移量和屬性值個數(shù),在正排表數(shù)據(jù)文件中查詢到屬性值:0,1,50032886,50032888,50041278和50048524,以同樣的步驟獲取文檔標識為O的文檔的屬性值信息,然后使用排序算法,根據(jù)查找到的文檔0、2的屬性值信息,分別對文檔標識信息為O和2的文檔進行排序分值計算,得到對應(yīng)文檔的排序分值,根據(jù)計算得到的排序分值對兩個文檔進行排序,例如排序后的順序為2,0,則根據(jù)排序后的順序2,0,依次向用戶返回文檔2和O的摘要信息。上述詳細闡述了使用垂直搜索引擎技術(shù)實現(xiàn)數(shù)據(jù)搜索的具體實施方案,因為正排表是需要存儲在內(nèi)存中的,而在正排表的數(shù)據(jù)文件中,存儲的被索引的文檔的屬性值中,會有較多的相同的文件屬性值重復存儲,例如在上述圖4中,文檔標識為O的文檔屬性值和文檔標識為2的文檔屬性值就是完全相同的,而在正排表數(shù)據(jù)文件中卻要重復存儲兩次,這種重復性的存儲會占用較多的內(nèi)存資源,使得在用戶使用垂直搜索引擎查詢相關(guān)信息時,會因為系統(tǒng)的內(nèi)存資源不夠而使得搜索的速率降低。

發(fā)明內(nèi)容
本申請實施例提供一種基于垂直搜索引擎的信息存儲、查詢方法及其裝置,用以降低對內(nèi)存資源的占用,提高用戶使用垂直搜索引擎查詢相關(guān)信息的速率。本申請實施例提出的技術(shù)方案如下:一種基于垂直搜索引擎的信息存儲方法,包括:針對每個待存儲的文檔,根據(jù)該待存儲文檔的指定屬性字段中包含的屬性值,確定該待存儲文檔的指定屬性字段的屬性相關(guān)值;根據(jù)確定的屬性相關(guān)值,判斷在消重字典中是否存儲有與所述屬性相關(guān)值相同的數(shù)值,所述消重字典中映射存儲有已存儲的各文檔的該指定屬性字段的屬性相關(guān)值、該指定屬性字段中包含的屬性值在正排表數(shù)據(jù)文件中起始存儲位置的偏移量和屬性值數(shù)目;如果判斷結(jié)果為是,將在消重字典中存儲的與確定的屬性相關(guān)值對應(yīng)的起始存儲位置的偏移量和屬性值數(shù)目,寫入到正排表索引文件中與該待存儲文檔的標識信息對應(yīng)的存儲域中;如果判斷結(jié)果為否,確定該待存儲文檔的指定屬性字段中包含的屬性值在正排表數(shù)據(jù)文件中起始存儲位置的偏移量和屬性值數(shù)目;將確定的所述屬性相關(guān)值、起始存儲位置的偏移量和屬性值數(shù)目映射存儲在所述消重字典中;并將確定的偏移量和屬性值數(shù)目寫入到正排表索引文件中與該待存儲文檔的標識信息對應(yīng)的存儲域中,并在正排表數(shù)據(jù)文件中該偏移量指向的位置開始寫入該待存儲文檔的指定屬性字段中包含的屬性值。一種基于垂直搜索引擎的信息存儲方法,包括:針對每個待存儲的文檔,根據(jù)該待存儲文檔的指定屬性字段中包含的屬性值,確定該待存儲文檔的指定屬性字段的屬性相關(guān)值;根據(jù)確定的屬性相關(guān)值,判斷在消重字典中是否存儲有與所述屬性相關(guān)值相同的數(shù)值,所述消重字典中映射存儲有已存儲的各文檔的該指定屬性字段的屬性相關(guān)值和文檔標識信息;如果判斷結(jié)果為是,根據(jù)在消重字典中存儲的與確定的屬性相關(guān)值對應(yīng)的文檔標識信息,在正排表索引文件中與該文檔標識信息對應(yīng)的存儲域中查找對應(yīng)的偏移量和屬性值數(shù)目;將查找到的偏移量和屬性值數(shù)目作為該待存儲文檔的指定屬性字段中包含的屬性值在正排表數(shù)據(jù)文件中起始存儲位置的偏移量和屬性值數(shù)目,寫入到正排表索引文件中與該待存儲文檔的標識信息對應(yīng)的存儲域中;如果判斷結(jié)果為否,確定該待存儲文檔的指定屬性字段中包含的屬性值在正排表數(shù)據(jù)文件中起始存儲位置的偏移量和屬性值數(shù)目;將該待存儲的文檔的標識信息與確定的所述屬性相關(guān)值映射存儲在所述消重字典中;并將確定的偏移量和屬性值數(shù)目寫入到正排表索引文件中與該待存儲文檔的標識信息對應(yīng)的存儲域中,并在正排表數(shù)據(jù)文件中該偏移量指向的位置開始寫入該待存儲文檔的指定屬性字段中包含的屬性值。一種基于垂直搜索引擎的信息存儲方法,包括:在對應(yīng)文檔一個指定屬性字段的正排表索引文件中,當至少兩個文檔的標識信息分別對應(yīng)的存儲域中存儲的偏移量和屬性值數(shù)目相同時,判斷所述至少兩個文檔中的一個文檔的該指定屬性字段中包含的屬性值是否發(fā)生變化;若發(fā)生變化,則根據(jù)該文檔的標識信息對應(yīng)的存儲域中存儲的偏移量和屬性值數(shù)目,在該指定屬性字段的正排表數(shù)據(jù)文件中查找對應(yīng)該文檔的相應(yīng)數(shù)目的屬性值;并將查找到的屬性值重新寫入到所述數(shù)據(jù)文件中的空白區(qū)域,并將寫入的屬性值更新為變化后的屬性值;以及修改該文檔的標識信息對應(yīng)的存儲域中存儲的偏移量和屬性值數(shù)目與重新寫入的區(qū)域和更新后的屬性值數(shù)目對應(yīng)?!N基于上述信息存儲方法進行信息查詢的方法,包括:將用戶輸入的搜索詞作拆分處理,根據(jù)拆分后的搜索詞基于倒排表進行倒排索引,得到拆分后的搜索詞所出現(xiàn)在的至少一個文檔的標識信息;針對得到的每個文檔的標識信息,分別基于正排表進行正排索引,得到每個文檔分別對應(yīng)的屬性值;按照預(yù)設(shè)的排序算法,根據(jù)在正排表中得到的每個文檔的屬性值,計算每個文檔的排序分值;根據(jù)計算得到的每個文檔的排序分值,將各文檔進行排序處理,根據(jù)排序后的順序,依次返回各文檔的摘要信息。一種基于垂直搜索引擎的信息存儲裝置,包括:屬性相關(guān)值確定單元,用于針對每個待存儲的文檔,根據(jù)該待存儲文檔的指定屬性字段中包含的屬性值,確定該待存儲文檔的指定屬性字段的屬性相關(guān)值;判斷單元,用于根據(jù)屬性相關(guān)值確定單元確定的屬性相關(guān)值,判斷在消重字典中是否存儲有與所述屬性相關(guān)值相同的數(shù)值,所述消重字典中映射存儲有已存儲的各文檔的該指定屬性字段的屬性相關(guān)值、該指定屬性字段中包含的屬性值在正排表數(shù)據(jù)文件中起始存儲位置的偏移量和屬性值數(shù)目;執(zhí)行單元,用于在判斷單元判斷出消重字典中存儲有所述屬性相關(guān)值時,將在消重字典中存儲的與屬性相關(guān)值確定單元確定的屬性相關(guān)值對應(yīng)的起始存儲位置的偏移量和屬性值數(shù)目,寫入到正排表索引文件中與該待存儲文檔的標識信息對應(yīng)的存儲域中;以及在判斷單元判斷出消重字典中未存儲有所述屬性相關(guān)值時,確定該待存儲文檔的指定屬性字段中包含的屬性值在正排表數(shù)據(jù)文件中起始存儲位置的偏移量和屬性值數(shù)目;將確定的所述屬性相關(guān)值、起始存儲位置的偏移量和屬性值數(shù)目映射存儲在所述消重字典中;并將確定的偏移量和屬性值數(shù)目寫入到正排表索引文件中與該待存儲文檔的標識信息對應(yīng)的存儲域中,并在正排表數(shù)據(jù)文件中該偏移量指向的位置開始寫入該待存儲文檔的指定屬性字段中包含的屬性值。一種基于垂直搜索引擎的信息存儲裝置,包括:屬性相關(guān)值確定單元,用于針對每個待存儲的文檔,根據(jù)該待存儲文檔的指定屬性字段中包含的屬性值,確定該待存儲文檔的指定屬性字段的屬性相關(guān)值;判斷單元,用于根據(jù)屬性相關(guān)值確定單元確定的屬性相關(guān)值,判斷在消重字典中是否存儲有與所述屬性相關(guān)值相同的數(shù)值,所述消重字典中映射存儲有已存儲的各文檔的該指定屬性字段的屬性相關(guān)值和文檔標識信息;執(zhí)行單元,用于在判斷單元判斷出消重字典中存儲有所述屬性相關(guān)值時,根據(jù)在消重字典中存儲的與確定的屬性相關(guān)值對應(yīng)的文檔標識信息,在正排表索引文件中與該文檔標識信息對應(yīng)的存儲域中查找對應(yīng)的偏移量和屬性值數(shù)目;將查找到的偏移量和屬性值數(shù)目作為該待存儲文檔的指定屬性字段中包含的屬性值在正排表數(shù)據(jù)文件中起始存儲位置的偏移量和屬性值數(shù)目,寫入到正排表索引文件中與該待存儲文檔的標識信息對應(yīng)的存儲域中;以及在判斷單元在判斷單元判斷出消重字典中未存儲有所述屬性相關(guān)值時,確定該待存儲文檔的指定屬性字段中包含的屬性值在正排表數(shù)據(jù)文件中起始存儲位置的偏移量和屬性值數(shù)目;將該待存儲的文檔的標識信息與確定的所述屬性相關(guān)值映射存儲在所述消重字典中;并將確定的偏移量和屬性值數(shù)目寫入到正排表索引文件中與該待存儲文檔的標識信息對應(yīng)的存儲域中,并在正排表數(shù)據(jù)文件中該偏移量指向的位置開始寫入該待存儲文檔的指定屬性字段中包含的屬性值。一種基于垂直搜索引擎的信息存儲裝置,包括:判斷單元,用于在對應(yīng)文檔一個指定屬性字段的正排表索引文件中,當至少兩個文檔的標識信息分別對應(yīng)的存儲域中存儲的偏移量和屬性值數(shù)目相同時,判斷所述至少兩個文檔中的一個文檔的該指定屬性字段中包含的屬性值是否發(fā)生變化;查找單元,用于在判斷單元判斷出至少一個文檔的該指定屬性字段中包含的屬性值發(fā)生變化時,則根據(jù)該文檔的標識信息對應(yīng)的存儲域中存儲的偏移量和屬性值數(shù)目,在該指定屬性字段的正排表數(shù)據(jù)文件中查找對應(yīng)該文檔的相應(yīng)數(shù)目的屬性值;修改單元,用于將查找單元查找到的屬性值重新寫入到所述數(shù)據(jù)文件中的空白區(qū)域,并將寫入的屬性值更新為變化后的屬性值;以及修改該文檔的標識信息對應(yīng)的存儲域中存儲的偏移量和屬性值數(shù)目與重新寫入的區(qū)域和更新后的屬性值數(shù)目對應(yīng)。一種基于上述信息存儲裝置進行信息查詢的裝置,包括:分詞處理單元,用于將用戶輸入的搜索詞作拆分處理,根據(jù)拆分后的搜索詞基于倒排表進行倒排索引,得到拆分后的搜索詞所出現(xiàn)在的至少一個文檔的標識信息;屬性值確定單元,用于針對分詞處理單元得到的每個文檔的標識信息,分別基于正排表進行正排索引,得到每個文檔分別對應(yīng)的屬性值;排序分值計算單元,用于按照預(yù)設(shè)的排序算法,根據(jù)屬性值確定單元在正排表中得到的每個文檔的屬性值,計算每個文檔的排序分值;摘要信息返回單元,用于根據(jù)排序分值計算單元計算得到的每個文檔的排序分值,將各文檔進行排序處理,根據(jù)排序后的順序,依次返回各文檔的摘要信息。本申請實施例針對每個待存儲的文檔,根據(jù)該待存儲文檔的指定屬性字段中包含的屬性值,確定該待存儲文檔的指定屬性字段的屬性相關(guān)值,根據(jù)確定的屬性相關(guān)值,判斷在消重字典中是否存儲有與該屬性相關(guān)值相同的數(shù)值,如果判斷結(jié)果為是,將在消重字典中存儲的與該屬性相關(guān)值對應(yīng)的起始存儲位置的偏移量和屬性值數(shù)目,寫入到正排索引文件中與該待存儲文檔的標識信息對應(yīng)的存儲域中;如果判斷結(jié)果為否,則確定該待存儲文檔的指定屬性字段中包含的屬性值在正排表數(shù)據(jù)文件中起始存儲位置的偏移量和屬性值數(shù)目,然后將確定出的屬性相關(guān)值、起始存儲位置的偏移量和屬性值數(shù)目映射存儲在所述消重字典中,并將確定的偏移量和屬性值數(shù)據(jù)寫入到正排表索引文件中與該待存儲文檔的標識信息對應(yīng)的存儲域中,在正排表中該偏移量指向的位置開始寫入該待存儲文檔的指定屬性字段中包含的屬性值,從而使得在不同的待存儲文檔在某一指定屬性字段內(nèi)具有相同屬性值時,在正排表數(shù)據(jù)文件中只對該指定字段的屬性值存儲一次,然后在正排表索引文件中對應(yīng)存儲該屬性值在正排表數(shù)據(jù)文件中的起始存儲地址的偏移量和屬性值數(shù)目,從而能夠降低垂直搜索引擎系統(tǒng)中正排表對內(nèi)存資源的占用,進而提高了用戶使用垂直搜索引擎系統(tǒng)進行信息查詢的速率。


圖1為現(xiàn)有技術(shù)中,提出的垂直搜索引擎的基本組成架構(gòu)圖;圖2為現(xiàn)有技術(shù)中,提出的垂直搜索引擎中倒排索引的組成結(jié)構(gòu)圖;圖3為現(xiàn)有技術(shù)中,提出的垂直搜索引擎中正排索引的組成結(jié)構(gòu)圖;圖4為現(xiàn)有技術(shù)中,提出的垂直搜索引擎工作原理示意圖;圖5為本申請實施例一中,提出的基于垂直搜索引擎的信息存儲方法流程圖;圖6為本申請實施例一中,提出的基于垂直搜索引擎的信息存儲方法對文檔的存儲結(jié)構(gòu)圖;圖7為本申請實施例一中,提出的基于垂直搜索引擎的信息存儲裝置結(jié)構(gòu)圖;圖8為本申請實施例三中,提出的基于垂直搜索引擎的信息存儲方法流程圖;圖9為本申請實施例三中,提出的基于垂直搜索引擎的信息存儲裝置結(jié)構(gòu)圖;圖10為本申請實施例四中,提出的基于垂直搜索引擎的信息查詢方法流程圖;圖11為本申請實施例四中,提出的基于垂直搜索引擎的信息查詢裝置結(jié)構(gòu)圖。
具體實施例方式針對現(xiàn)有技術(shù)中存在的在垂直搜索引擎系統(tǒng)中,不同文檔如果在某一指定屬性字段內(nèi)具有相同的屬性值,會在正排表數(shù)據(jù)文件中重復性存儲該些相同的屬性值,從而導致占用較多的內(nèi)存資源,使得用戶在使用垂直搜索引擎系統(tǒng)查詢信息時,會因為系統(tǒng)的內(nèi)存資源不夠而致使搜索速率降低的問題,本申請實施例這里提出一種基于垂直搜索引擎的信息存儲、查詢方法及其裝置,主旨是盡量在不同文檔中具有相同屬性值時,在正排表數(shù)據(jù)文件中盡量僅存儲一份該些相同的屬性值,然后在正排表索引文件中分別使用相同的起始地址偏移量指向數(shù)據(jù)文件中這些相同的屬性值,從而為后續(xù)查詢屬性值時提供實現(xiàn)基礎(chǔ)。并因此有效地降低了正排表對內(nèi)存資源的占用,提高了用戶使用垂直搜索引擎系統(tǒng)查詢信息的速率,特別是對于大多數(shù)文檔在具有較多相同的屬性值的情況下,本申請實施例的方案效果將更為明顯。需要說明的是,針對每一個待存儲的文檔,可以只包含一個屬性字段,也可以包含多個屬性字段,每個屬性字段內(nèi)又包含不同的屬性值。本申請各實施例中以待存儲文檔的每一指定屬性字段為例分別介紹,即本申請方案可以適用于待存儲文檔的不同指定屬性字段,為描述方便清晰起見,本申請實施例這里僅是以其中某一個指定的屬性字段為例來進行介紹。在建立垂直搜索引擎系統(tǒng)中的正排表時,一般是對應(yīng)文檔的每個指定屬性字段分別建立一個正排表,即文檔有多個屬性字段時,可能會對應(yīng)多個不同的正排表,并在多個不同的正排表中分別查詢到不同的屬性值。例如,假設(shè)一個文檔有4個不同的屬性字段,則對應(yīng)該文檔的4個不同的屬性字段會有4個不同的正排表分別存儲不同屬性字段的屬性值。下面將結(jié)合各個附圖對本申請實施例技術(shù)方案的主要實現(xiàn)原理具體實施方式
及其對應(yīng)能夠達到的有益效果進行詳細地闡述。
本申請實施例這里提出一種基于垂直搜索引擎的信息存儲方法,如圖5所示,具體過程如下:步驟501,根據(jù)配置信息,初始化正排表中的頭信息文件Fieldname, pfl.1nfo。其中,配置信息包括文檔數(shù)目,文檔相應(yīng)的字段值類型等信息。具體地,初始狀態(tài)下,文檔數(shù)目可以是O。字段值類型可以但不限于包括定長多值類型、變長多值類型或者是字符串類型等。步驟502,在對正排表頭信息文件進行初始化配置后,針對每個待存儲的文檔,根據(jù)該待存儲文檔的指定屬性字段中包含的屬性值,確定該待存儲文檔的指定屬性字段的屬性相關(guān)值。其中,可以采用預(yù)先設(shè)定的算法,對該待存儲文檔的指定屬性字段中包含的屬性值執(zhí)行運算,從而得到一個唯一的數(shù)值作為該待存儲文檔的指定屬性字段的屬性相關(guān)值,其中預(yù)設(shè)的算法可以但不限于是MD5算法或者是哈希(hash)算法,當然還可以為其他可以對數(shù)組計算得到唯一數(shù)值的算法。一種較佳的實現(xiàn)方式,可以對該待存儲文檔的指定屬性字段中包含的屬性值,執(zhí)行哈希運算,將運算得到的結(jié)果作為該待存儲文檔的指定屬性字段的屬性相關(guān)值。例如,本申請實施例一這里將待存儲文檔的指定屬性字段中包含的屬性值,執(zhí)行哈希運算,得到一個64位哈希值,將得到的64位哈希值做為該待存儲文檔的指定屬性字段的屬性相關(guān)值(這里可以稱之為key值)。步驟503,根據(jù)步驟502中確定的屬性相關(guān)值,將確定的屬性相關(guān)值做為鍵值key,根據(jù)該鍵值判斷在消重字典中是否存儲有與確定出的該key值相同的數(shù)值,如果判斷結(jié)果為是,執(zhí)行步驟504 ;如果判斷結(jié)果為否,則執(zhí)行步驟505。其中,消重字典中映射存儲有已存儲的各文檔的該指定屬性字段的屬性相關(guān)值、該指定屬性字段中包含的屬性值在正排表數(shù)據(jù)文件中起始存儲位置的偏移量和屬性值數(shù)目。其中每個文檔的每個指定屬性字段都對應(yīng)有一個消重字典,如果一個文檔有N個屬性字段,則對應(yīng)該文檔就存儲了 N個消重字典,初始狀態(tài)下,消重字典中未存儲任何信息,隨著待存儲文檔的數(shù)目不斷增加,消重字典中學習到的存儲信息也不斷進行更新。消重字典可以存儲計算機的任何一個位置,例如可以存儲在內(nèi)存中,也可以存儲在計算機硬盤上,較佳地,本申請實施例中選擇將消重字典存儲在計算機硬盤上。具體地,消重字典的存儲形式可以有多種方式,本申請實施例一這里以對每個文檔的指定屬性字段采用哈希運算得到的哈希值做為屬性相關(guān)值為例來進一步闡述消重字典的存儲形式,如下述表I所示,是消重字典的其中一種存儲形式:

權(quán)利要求
1.一種基于垂直搜索引擎的信息存儲方法,其特征在于,包括: 針對每個待存儲的文檔,根據(jù)該待存儲文檔的指定屬性字段中包含的屬性值,確定該待存儲文檔的指定屬性字段的屬性相關(guān)值; 根據(jù)確定的屬性相關(guān)值,判斷在消重字典中是否存儲有與所述屬性相關(guān)值相同的數(shù)值,所述消重字典中映射存儲有已存儲的各文檔的該指定屬性字段的屬性相關(guān)值、該指定屬性字段中包含的屬性值在正排表數(shù)據(jù)文件中起始存儲位置的偏移量和屬性值數(shù)目; 如果判斷結(jié)果為是,將在消重字典中存儲的與確定的屬性相關(guān)值對應(yīng)的起始存儲位置的偏移量和屬性值數(shù)目,寫入到正排表索引文件中與該待存儲文檔的標識信息對應(yīng)的存儲域中; 如果判斷結(jié)果為否,確定該待存儲文檔的指定屬性字段中包含的屬性值在正排表數(shù)據(jù)文件中起始存儲位置的偏移量和屬性值數(shù)目; 將確定的所述屬性相關(guān)值、起始存儲位置的偏移量和屬性值數(shù)目映射存儲在所述消重字典中;并 將確定的偏移量和屬性值數(shù)目寫入到正排表索引文件中與該待存儲文檔的標識信息對應(yīng)的存儲域中,并在正排表數(shù)據(jù)文件中該偏移量指向的位置開始寫入該待存儲文檔的指定屬性字段中包含的屬性值。
2.如權(quán)利要求1所述的方法,其特征在于,根據(jù)該待存儲文檔的指定屬性字段中包含的屬性值,確定該待存儲文檔的指定屬性字段的屬性相關(guān)值,包括: 對該待存儲文檔的指定屬性字段中包含的屬性值,執(zhí)行哈希運算; 將運算得到的結(jié)果作 為該待存儲文檔的指定屬性字段的屬性相關(guān)值。
3.一種基于垂直搜索引擎的信息存儲方法,其特征在于,包括: 針對每個待存儲的文檔,根據(jù)該待存儲文檔的指定屬性字段中包含的屬性值,確定該待存儲文檔的指定屬性字段的屬性相關(guān)值; 根據(jù)確定的屬性相關(guān)值,判斷在消重字典中是否存儲有與所述屬性相關(guān)值相同的數(shù)值,所述消重字典中映射存儲有已存儲的各文檔的該指定屬性字段的屬性相關(guān)值和文檔標識息; 如果判斷結(jié)果為是,根據(jù)在消重字典中存儲的與確定的屬性相關(guān)值對應(yīng)的文檔標識信息,在正排表索引文件中與該文檔標識信息對應(yīng)的存儲域中查找對應(yīng)的偏移量和屬性值數(shù)目; 將查找到的偏移量和屬性值數(shù)目作為該待存儲文檔的指定屬性字段中包含的屬性值在正排表數(shù)據(jù)文件中起始存儲位置的偏移量和屬性值數(shù)目,寫入到正排表索引文件中與該待存儲文檔的標識信息對應(yīng)的存儲域中; 如果判斷結(jié)果為否,確定該待存儲文檔的指定屬性字段中包含的屬性值在正排表數(shù)據(jù)文件中起始存儲位置的偏移量和屬性值數(shù)目; 將該待存儲的文檔的標識信息與確定的所述屬性相關(guān)值映射存儲在所述消重字典中;并 將確定的偏移量和屬性值數(shù)目寫入到正排表索引文件中與該待存儲文檔的標識信息對應(yīng)的存儲域中,并在正排表數(shù)據(jù)文件中該偏移量指向的位置開始寫入該待存儲文檔的指定屬性字段中包含的屬性值。
4.一種基于垂直搜索引擎的信息存儲方法,其特征在于,包括: 在對應(yīng)文檔一個指定屬性字段的正排表索引文件中,當至少兩個文檔的標識信息分別對應(yīng)的存儲域中存儲的偏移量和屬性值數(shù)目相同時,判斷所述至少兩個文檔中的一個文檔的該指定屬性字段中包含的屬性值是否發(fā)生變化; 若發(fā)生變化,則根據(jù)該文檔的標識信息對應(yīng)的存儲域中存儲的偏移量和屬性值數(shù)目,在該指定屬性字段的正排表數(shù)據(jù)文件中查找對應(yīng)該文檔的相應(yīng)數(shù)目的屬性值;并 將查找到的屬性值重新寫入到所述數(shù)據(jù)文件中的空白區(qū)域,并將寫入的屬性值更新為變化后的屬性值;以及 修改該文檔的標識信息對應(yīng)的存儲域中存儲的偏移量和屬性值數(shù)目與重新寫入的區(qū)域和更新后的屬性值數(shù)目對應(yīng)。
5.一種基于I 4任一權(quán)利要求所述的信息存儲方法進行信息查詢的方法,其特征在于,包括: 將用戶輸入的搜索詞作拆分處理,根據(jù)拆分后的搜索詞基于倒排表進行倒排索引,得到拆分后的搜索詞所出現(xiàn)在的至少一個文檔的標識信息; 針對得到的每個文檔的標識信息,分別基于正排表進行正排索引,得到每個文檔分別對應(yīng)的屬性值; 按照預(yù)設(shè)的排序算法,根據(jù)在正排表中得到的每個文檔的屬性值,計算每個文檔的排序分值; 根據(jù)計算得到的每個文檔的排序分值,將各文檔進行排序處理,根據(jù)排序后的順序,依次返回各文檔的摘要信息。
6.一種基于垂直搜索引擎的信息存儲裝置,其特征在于,包括: 屬性相關(guān)值確定單元,用于針對每個待存儲的文檔,根據(jù)該待存儲文檔的指定屬性字段中包含的屬性值,確定該待存儲文檔的指定屬性字段的屬性相關(guān)值; 判斷單元,用于根據(jù)屬性相關(guān)值確定單元確定的屬性相關(guān)值,判斷在消重字典中是否存儲有與所述屬性相關(guān)值相同的數(shù)值,所述消重字典中映射存儲有已存儲的各文檔的該指定屬性字段的屬性相關(guān)值、該指定屬性字段中包含的屬性值在正排表數(shù)據(jù)文件中起始存儲位置的偏移量和屬性值數(shù)目; 執(zhí)行單元,用于在判斷單元判斷出消重字典中存儲有所述屬性相關(guān)值時,將在消重字典中存儲的與屬性相關(guān)值確定單元確定的屬性相關(guān)值對應(yīng)的起始存儲位置的偏移量和屬性值數(shù)目,寫入到正排表索引文件中與該待存儲文檔的標識信息對應(yīng)的存儲域中;以及在判斷單元判斷出消重字典中未存儲有所述屬性相關(guān)值時,確定該待存儲文檔的指定屬性字段中包含的屬性值在正排表數(shù)據(jù)文件中起始存儲位置的偏移量和屬性值數(shù)目;將確定的所述屬性相關(guān)值、起始存儲位置的偏移量和屬性值數(shù)目映射存儲在所述消重字典中;并將確定的偏移量和屬性值數(shù)目寫入到正排表索引文件中與該待存儲文檔的標識信息對應(yīng)的存儲域中,并在正排表數(shù)據(jù)文件中該偏移量指向的位置開始寫入該待存儲文檔的指定屬性字段中包含的屬性值。
7.如權(quán)利要求6所述的裝置,其特征在于,所述屬性相關(guān)值確定單元,具體用于對該待存儲文檔的指定屬性字段中包含的屬性值,執(zhí)行哈希運算;將運算得到的結(jié)果作為該待存儲文檔的指定屬性字段的屬性相關(guān)值。
8.一種基于垂直搜索引擎的信息存儲裝置,其特征在于,包括: 屬性相關(guān)值確定單元,用于針對每個待存儲的文檔,根據(jù)該待存儲文檔的指定屬性字段中包含的屬性值,確定該待存儲文檔的指定屬性字段的屬性相關(guān)值; 判斷單元,用于根據(jù)屬性相關(guān)值確定單元確定的屬性相關(guān)值,判斷在消重字典中是否存儲有與所述屬性相關(guān)值相同的數(shù)值,所述消重字典中映射存儲有已存儲的各文檔的該指定屬性字段的屬性相關(guān)值和文檔標識信息; 執(zhí)行單元,用于在判斷單元判斷出消重字典中存儲有所述屬性相關(guān)值時,根據(jù)在消重字典中存儲的與確定的屬性相關(guān)值對應(yīng)的文檔標識信息,在正排表索引文件中與該文檔標識信息對應(yīng)的存儲域中查找對應(yīng)的偏移量和屬性值數(shù)目;將查找到的偏移量和屬性值數(shù)目作為該待存儲文檔的指定屬性字段中包含的屬性值在正排表數(shù)據(jù)文件中起始存儲位置的偏移量和屬性值數(shù)目,寫入到正排表索引文件中與該待存儲文檔的標識信息對應(yīng)的存儲域中;以及在判斷單元判斷出消重字典中未存儲有所述屬性相關(guān)值時,確定該待存儲文檔的指定屬性字段中包含的屬性值在正排表數(shù)據(jù)文件中起始存儲位置的偏移量和屬性值數(shù)目;將該待存儲的文檔的標識信息與確定的所述屬性相關(guān)值映射存儲在所述消重字典中;并將確定的偏移量和屬性值數(shù)目寫入到正排表索引文件中與該待存儲文檔的標識信息對應(yīng)的存儲域中,并在正排表數(shù)據(jù)文件中該偏移量指向的位置開始寫入該待存儲文檔的指定屬性字段中包含的屬性值。
9.一種基于垂直搜索引擎的信息存儲裝置,其特征在于,包括: 判斷單元,用于在對應(yīng)文檔一個指定屬性字段的正排表索引文件中,當至少兩個文檔的標識信息分別對應(yīng)的存儲 域中存儲的偏移量和屬性值數(shù)目相同時,判斷所述至少兩個文檔中的一個文檔的該指定屬性字段中包含的屬性值是否發(fā)生變化; 查找單元,用于在判斷單元判斷出至少一個文檔的該指定屬性字段中包含的屬性值發(fā)生變化時,根據(jù)該文檔的標識信息對應(yīng)的存儲域中存儲的偏移量和屬性值數(shù)目,在該指定屬性字段的正排表數(shù)據(jù)文件中查找對應(yīng)該文檔的相應(yīng)數(shù)目的屬性值; 修改單元,用于將查找單元查找到的屬性值重新寫入到所述數(shù)據(jù)文件中的空白區(qū)域,并將寫入的屬性值更新為變化后的屬性值;以及修改該文檔的標識信息對應(yīng)的存儲域中存儲的偏移量和屬性值數(shù)目與重新寫入的區(qū)域和更新后的屬性值數(shù)目對應(yīng)。
10.一種基于6 9任一權(quán)利要求所述的信息存儲裝置進行信息查詢的裝置,其特征在于,包括: 分詞處理單元,用于將用戶輸入的搜索詞作拆分處理,根據(jù)拆分后的搜索詞基于倒排表進行倒排索引,得到拆分后的搜索詞所出現(xiàn)在的至少一個文檔的標識信息; 屬性值確定單元,用于針對分詞處理單元得到的每個文檔的標識信息,分別基于正排表進行正排索引,得到每個文檔分別對應(yīng)的屬性值; 排序分值計算單元,用于按照預(yù)設(shè)的排序算法,根據(jù)屬性值確定單元在正排表中得到的每個文檔的屬性值,計算每個文檔的排序分值; 摘要信息返回單元,用于根據(jù)排序分值計算單元計算得到的每個文檔的排序分值,將各文檔進行排序處理,根據(jù)排序后的順序,依次返回各文檔的摘要信息。
全文摘要
本申請公開了一種基于垂直搜索引擎的信息存儲、查詢方法及其裝置,包括對每個待存儲的文檔,根據(jù)其指定屬性字段中包含的屬性值,確定屬性相關(guān)值;判斷在消重字典中是否存儲有與所述屬性相關(guān)值相同的數(shù)值;如果判斷結(jié)果為是,將消重字典中存儲的起始位置的偏移量和屬性值數(shù)目,寫入到正排表索引文件中;否則,確定所述屬性值在正排表數(shù)據(jù)文件中起始位置的偏移量和屬性值數(shù)目;將確定的屬性相關(guān)值、偏移量和屬性值數(shù)目存儲在消重字典中;將確定的偏移量和屬性值數(shù)目寫入到正排表索引文件中,并在該偏移量指向的位置開始寫入待存儲文檔的指定屬性字段中包含的屬性值,從而降低了內(nèi)存資源的占用,提高用戶使用垂直搜索引擎查詢相關(guān)信息的速率。
文檔編號G06F17/30GK103164408SQ20111040849
公開日2013年6月19日 申請日期2011年12月9日 優(yōu)先權(quán)日2011年12月9日
發(fā)明者孫權(quán), 程麗敏 申請人:阿里巴巴集團控股有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
桃园县| 辉南县| 剑川县| 万荣县| 通城县| 平阳县| 黑龙江省| 陆河县| 新宾| 泰宁县| 高青县| 盐池县| 嘉义县| 玉田县| 健康| 黄大仙区| 嘉义县| 涪陵区| 宁远县| 兰溪市| 务川| 石门县| 溧阳市| 沈阳市| 徐州市| 通州区| 渝中区| 分宜县| 昂仁县| 南皮县| 中宁县| 靖远县| 米泉市| 商南县| 南雄市| 鄱阳县| 吉木萨尔县| 安西县| 荣成市| 阿坝县| 张家川|