本發(fā)明屬于數(shù)據(jù)存儲(chǔ)與檢索領(lǐng)域,特別涉及一種基于全文檢索的數(shù)據(jù)分類與數(shù)據(jù)檢索的方法及裝置。
背景技術(shù):
目前,企業(yè)在其各個(gè)業(yè)務(wù)模塊中產(chǎn)生的數(shù)據(jù)分為兩種,一種是結(jié)構(gòu)化數(shù)據(jù),即關(guān)系型數(shù)據(jù)庫(kù),如oracle、sql server等,一種是非結(jié)構(gòu)化數(shù)據(jù),如txt、word、excel等。由于數(shù)據(jù)存在差異化,無(wú)法統(tǒng)一結(jié)構(gòu),同時(shí)因?yàn)槠髽I(yè)的各個(gè)業(yè)務(wù)模塊的松耦合不清晰,造成數(shù)據(jù)難統(tǒng)一管理,不能進(jìn)行數(shù)據(jù)分類以及無(wú)法全文檢索。這里所述的數(shù)據(jù)分類是根據(jù)企業(yè)自定的業(yè)務(wù)模塊,將采集好的數(shù)據(jù)關(guān)聯(lián)到定義好的業(yè)務(wù)模塊中。所述的全文檢索是可以將采集到的數(shù)據(jù)進(jìn)行檢索,并通過權(quán)限過濾數(shù)據(jù)后,再呈現(xiàn)給用戶。
申請(qǐng)?zhí)枮?01510104637的中國(guó)發(fā)明專利公開了一種基于數(shù)字報(bào)紙的資訊數(shù)據(jù)分類方法,該專利僅僅是基于數(shù)字報(bào)紙的結(jié)構(gòu)化數(shù)據(jù)進(jìn)行數(shù)據(jù)分類,如何根據(jù)企業(yè)業(yè)務(wù)模塊的結(jié)構(gòu)與非結(jié)構(gòu)化數(shù)據(jù)進(jìn)行數(shù)據(jù)分類并沒有做相關(guān)的研究。
申請(qǐng)?zhí)枮?01010550776的中國(guó)發(fā)明專利公開了一種基于系統(tǒng)耦合的福富企業(yè)搜索引擎技術(shù),該方案具體公開了一種數(shù)據(jù)采集方法,但是該方案僅僅是基于非結(jié)構(gòu)化數(shù)據(jù)(如word、excel、ppt、pdf等)的數(shù)據(jù)采集,只會(huì)采集非結(jié)構(gòu)化數(shù)據(jù)的文件名,不采集非結(jié)構(gòu)化數(shù)據(jù)的具體內(nèi)容。
為此,提供一種能實(shí)現(xiàn)企業(yè)數(shù)據(jù)的信息采集、數(shù)據(jù)分類與全文檢索的方法具有重要的研究意義和實(shí)用價(jià)值。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的一個(gè)目的在于克服現(xiàn)有技術(shù)的缺點(diǎn)與不足,提供一種基于全文檢索的數(shù)據(jù)分類與數(shù)據(jù)檢索的方法,解決了以往企業(yè)在其各個(gè)業(yè)務(wù)模塊中,產(chǎn)生的結(jié)構(gòu)與非結(jié)構(gòu)化數(shù)據(jù)不能統(tǒng)一采集、分類與檢索的問題。
本發(fā)明的另一個(gè)目的在于提供一種全文檢索的數(shù)據(jù)分類與數(shù)據(jù)檢索的裝置,該裝置可以實(shí)現(xiàn)企業(yè)數(shù)據(jù)的信息采集、數(shù)據(jù)分類與全文檢索。
本發(fā)明的目的通過以下的技術(shù)方案實(shí)現(xiàn):一種基于全文檢索的數(shù)據(jù)分類與數(shù)據(jù)檢索的方法,包括以下步驟:定義各個(gè)業(yè)務(wù)模塊,將業(yè)務(wù)模塊產(chǎn)生的數(shù)據(jù)與該業(yè)務(wù)模塊進(jìn)行關(guān)聯(lián),對(duì)上述數(shù)據(jù)進(jìn)行分類,對(duì)分類后的數(shù)據(jù)添加索引,然后存儲(chǔ);在用戶檢索數(shù)據(jù)時(shí),根據(jù)索引查找到相應(yīng)數(shù)據(jù),根據(jù)數(shù)據(jù)與業(yè)務(wù)模塊的關(guān)聯(lián)信息,找到數(shù)據(jù)對(duì)應(yīng)的業(yè)務(wù)模塊,進(jìn)而找到對(duì)應(yīng)業(yè)務(wù)模塊處理類的處理方法,對(duì)數(shù)據(jù)進(jìn)行處理,得到檢索結(jié)果。
具體的,所述方法包括以下步驟:
(1)數(shù)據(jù)采集、分類過程:
(1-1)根據(jù)需要定義不同的業(yè)務(wù)模塊,建立業(yè)務(wù)模塊庫(kù),規(guī)劃各個(gè)業(yè)務(wù)模塊的數(shù)據(jù)處理機(jī)制,所述數(shù)據(jù)處理機(jī)制為業(yè)務(wù)模塊處理類的處理方法;
(1-2)對(duì)數(shù)據(jù)進(jìn)行采集,并將數(shù)據(jù)與業(yè)務(wù)模塊庫(kù)中的業(yè)務(wù)模塊進(jìn)行關(guān)聯(lián);
(1-3)對(duì)數(shù)據(jù)進(jìn)行結(jié)構(gòu)化和非結(jié)構(gòu)化分類;
(1-4)對(duì)分類之后的數(shù)據(jù)添加數(shù)據(jù)索引,將數(shù)據(jù)索引保存到數(shù)據(jù)索引庫(kù)中,然后借由數(shù)據(jù)庫(kù)持久化操作,將數(shù)據(jù)保存到對(duì)應(yīng)的數(shù)據(jù)庫(kù)中;
(2)數(shù)據(jù)檢索過程:
(2-1)系統(tǒng)根據(jù)用戶輸入的檢索關(guān)鍵字,對(duì)儲(chǔ)存的數(shù)據(jù)進(jìn)行搜索,找到對(duì)應(yīng)數(shù)據(jù)的索引;通過索引找到相應(yīng)的數(shù)據(jù)并提取出來(lái);
(2-2)根據(jù)數(shù)據(jù)與業(yè)務(wù)模塊的關(guān)聯(lián)信息,找到數(shù)據(jù)對(duì)應(yīng)的業(yè)務(wù)模塊,根據(jù)該業(yè)務(wù)模塊的數(shù)據(jù)處理機(jī)制,完成對(duì)數(shù)據(jù)的處理,得到檢索結(jié)果。
更進(jìn)一步的,所述方法還包括步驟:
(2-3)在步驟(2-2)得到檢索結(jié)果后,再根據(jù)用戶的權(quán)限對(duì)上述檢索結(jié)果進(jìn)行過濾,最終將過濾后的檢索結(jié)果發(fā)送給用戶。
優(yōu)選的,所述步驟(1-2)中將數(shù)據(jù)與業(yè)務(wù)模塊庫(kù)中的業(yè)務(wù)模塊進(jìn)行關(guān)聯(lián)的方式為:對(duì)各個(gè)業(yè)務(wù)模塊賦予一個(gè)標(biāo)記,該業(yè)務(wù)模塊采集的數(shù)據(jù)自動(dòng)添加該標(biāo)記。
更進(jìn)一步的,將業(yè)務(wù)模塊的編碼作為標(biāo)記,將該標(biāo)記作為后綴與結(jié)構(gòu)化、非結(jié)構(gòu)化數(shù)據(jù)進(jìn)行關(guān)聯(lián),然后存入非結(jié)構(gòu)化數(shù)據(jù)庫(kù)中。
優(yōu)選的,所述步驟(1-4)中對(duì)分類之后的數(shù)據(jù)添加數(shù)據(jù)索引的具體步驟為:對(duì)需要檢索的線索字段進(jìn)行關(guān)鍵字提取和分詞處理,并對(duì)這些關(guān)鍵字進(jìn)行優(yōu)先級(jí)篩選及敏感信息過濾,然后提取出索引,將索引添加到分類之后的數(shù)據(jù)。
優(yōu)選的,所述步驟(2-2)中,找到數(shù)據(jù)對(duì)應(yīng)的業(yè)務(wù)模塊后,采用面相對(duì)象開發(fā)語(yǔ)言的反射機(jī)制,找到該業(yè)務(wù)模塊對(duì)應(yīng)的數(shù)據(jù)處理機(jī)制。
一種基于全文檢索的數(shù)據(jù)分類與數(shù)據(jù)檢索的裝置,包括:
預(yù)定義模塊,用于根據(jù)需要定義不同的業(yè)務(wù)模塊,建立業(yè)務(wù)模塊庫(kù),規(guī)劃各個(gè)業(yè)務(wù)模塊的數(shù)據(jù)處理機(jī)制,所述數(shù)據(jù)處理機(jī)制為業(yè)務(wù)模塊處理類的處理方法;
信息采集模塊,用于對(duì)數(shù)據(jù)進(jìn)行采集,并將數(shù)據(jù)與業(yè)務(wù)模塊庫(kù)中的業(yè)務(wù)模塊進(jìn)行關(guān)聯(lián);
數(shù)據(jù)分類模塊,用于對(duì)數(shù)據(jù)進(jìn)行結(jié)構(gòu)化和非結(jié)構(gòu)化分類;
數(shù)據(jù)持久化模塊,用于對(duì)分類之后的數(shù)據(jù)添加數(shù)據(jù)索引,將數(shù)據(jù)索引保存到數(shù)據(jù)索引庫(kù)中,然后借由數(shù)據(jù)庫(kù)持久化操作,將數(shù)據(jù)保存到對(duì)應(yīng)的數(shù)據(jù)庫(kù)中;同時(shí),還用于在用戶輸入檢索關(guān)鍵字時(shí),對(duì)儲(chǔ)存的數(shù)據(jù)進(jìn)行搜索,找到對(duì)應(yīng)數(shù)據(jù)的索引,通過索引找到相應(yīng)的數(shù)據(jù)并提取出來(lái);
數(shù)據(jù)分類處理模塊,用于根據(jù)數(shù)據(jù)與業(yè)務(wù)模塊的關(guān)聯(lián)信息,找到數(shù)據(jù)對(duì)應(yīng)的業(yè)務(wù)模塊,根據(jù)該業(yè)務(wù)模塊的數(shù)據(jù)處理機(jī)制,完成對(duì)數(shù)據(jù)的處理,得到檢索結(jié)果。
更進(jìn)一步的,所述裝置還包括:
數(shù)據(jù)權(quán)限模塊,用于在數(shù)據(jù)分類處理模塊得到檢索結(jié)果后,再根據(jù)用戶的權(quán)限對(duì)上述檢索結(jié)果進(jìn)行過濾,最終將過濾后的檢索結(jié)果發(fā)送給用戶。
優(yōu)選的,所述信息采集模塊中,將業(yè)務(wù)模塊的編碼作為后綴與結(jié)構(gòu)化、非結(jié)構(gòu)化數(shù)據(jù)進(jìn)行關(guān)聯(lián),然后存入非結(jié)構(gòu)化數(shù)據(jù)庫(kù)中。
優(yōu)選的,所述數(shù)據(jù)持久化模塊包括索引尋找模塊,所述索引尋找模塊用于對(duì)需要檢索的線索字段進(jìn)行關(guān)鍵字提取和分詞處理,并對(duì)這些關(guān)鍵字進(jìn)行優(yōu)先級(jí)篩選及敏感信息過濾,然后提取出索引。
本發(fā)明與現(xiàn)有技術(shù)相比,具有如下優(yōu)點(diǎn)和有益效果:
1、本發(fā)明根據(jù)企業(yè)自定的業(yè)務(wù)模塊,將采集好的數(shù)據(jù)關(guān)聯(lián)到定義好的業(yè)務(wù)模塊中,使結(jié)構(gòu)與非結(jié)構(gòu)化數(shù)據(jù)能夠統(tǒng)一采集、分類與檢索,并且企業(yè)數(shù)據(jù)統(tǒng)一存儲(chǔ),數(shù)據(jù)分類清晰。
2、本發(fā)明可以采集非結(jié)構(gòu)化數(shù)據(jù)的內(nèi)容,進(jìn)行全文檢索。
3、本發(fā)明通過數(shù)據(jù)權(quán)限模塊,根據(jù)用戶的權(quán)限對(duì)檢索結(jié)果進(jìn)行過濾,保證了企業(yè)信息的安全性。
附圖說(shuō)明
圖1是本實(shí)施例的數(shù)據(jù)采集、分類與持久化的過程示意圖;
圖2是本實(shí)施例數(shù)據(jù)檢索及權(quán)限處理的過程示意圖。
具體實(shí)施方式
下面結(jié)合實(shí)施例及附圖對(duì)本發(fā)明作進(jìn)一步詳細(xì)的描述,但本發(fā)明的實(shí)施方式不限于此。
本實(shí)施例一種基于全文檢索的數(shù)據(jù)分類與數(shù)據(jù)檢索的方法,包括步驟:定義各個(gè)業(yè)務(wù)模塊,將業(yè)務(wù)模塊產(chǎn)生的數(shù)據(jù)與該業(yè)務(wù)模塊進(jìn)行關(guān)聯(lián),對(duì)上述數(shù)據(jù)進(jìn)行分類,對(duì)分類后的數(shù)據(jù)添加索引,然后存儲(chǔ);在用戶檢索數(shù)據(jù)時(shí),根據(jù)索引查找到相應(yīng)數(shù)據(jù),根據(jù)數(shù)據(jù)與業(yè)務(wù)模塊的關(guān)聯(lián)信息,找到數(shù)據(jù)對(duì)應(yīng)的業(yè)務(wù)模塊,進(jìn)而找到對(duì)應(yīng)業(yè)務(wù)模塊處理類的處理方法,對(duì)數(shù)據(jù)進(jìn)行處理,得到檢索結(jié)果。
下面結(jié)合圖1、2,對(duì)上述方法進(jìn)行具體說(shuō)明。
參見圖1,數(shù)據(jù)采集、分類過程包括下面步驟:
1、根據(jù)需要定義不同的業(yè)務(wù)模塊,建立業(yè)務(wù)模塊庫(kù),規(guī)劃各個(gè)業(yè)務(wù)模塊的數(shù)據(jù)處理機(jī)制。只有在清晰的劃分業(yè)務(wù)模塊后,才能對(duì)各個(gè)業(yè)務(wù)模塊的數(shù)據(jù)處理機(jī)制有規(guī)劃,且需要對(duì)每個(gè)業(yè)務(wù)模塊可能產(chǎn)生的結(jié)構(gòu)化數(shù)據(jù)與非結(jié)構(gòu)化數(shù)據(jù)有一定的預(yù)期。
2、用戶新建數(shù)據(jù),由信息采集模塊對(duì)數(shù)據(jù)進(jìn)行采集,并將數(shù)據(jù)與業(yè)務(wù)模塊庫(kù)中的業(yè)務(wù)模塊進(jìn)行關(guān)聯(lián)。
3、數(shù)據(jù)分類模塊根據(jù)數(shù)據(jù)分類庫(kù)對(duì)數(shù)據(jù)進(jìn)行結(jié)構(gòu)化和非結(jié)構(gòu)化分類。
4、對(duì)分類之后的數(shù)據(jù)添加數(shù)據(jù)索引,將索引保存到數(shù)據(jù)索引庫(kù)中,然后借由數(shù)據(jù)庫(kù)持久化操作,將數(shù)據(jù)保存到對(duì)應(yīng)的數(shù)據(jù)庫(kù)中。
參見圖2,數(shù)據(jù)檢索過程包括下面步驟:
5、系統(tǒng)根據(jù)用戶輸入的檢索關(guān)鍵字,對(duì)持久化模塊中儲(chǔ)存的數(shù)據(jù)進(jìn)行部分模糊搜索,找到對(duì)應(yīng)數(shù)據(jù)的索引。
6、通過索引找到相應(yīng)的數(shù)據(jù)并提取出來(lái)。
7、根據(jù)數(shù)據(jù)與業(yè)務(wù)模塊的關(guān)聯(lián)信息,找到數(shù)據(jù)對(duì)應(yīng)的業(yè)務(wù)模塊,找到此業(yè)務(wù)模塊對(duì)應(yīng)的數(shù)據(jù)處理方法,完成對(duì)數(shù)據(jù)的處理,得到初步檢索結(jié)果。
8、通過數(shù)據(jù)權(quán)限模塊,根據(jù)用戶的權(quán)限對(duì)初步檢索結(jié)果進(jìn)行過濾,并最終呈現(xiàn)給用戶。
本實(shí)施例中,將業(yè)務(wù)模塊的編碼作為后綴與結(jié)構(gòu)化、非結(jié)構(gòu)化數(shù)據(jù)進(jìn)行關(guān)聯(lián),然后存入非結(jié)構(gòu)化數(shù)據(jù)庫(kù)中。
優(yōu)選的,步驟4中對(duì)分類之后的數(shù)據(jù)添加數(shù)據(jù)索引具體步驟為:持久化模塊對(duì)需要檢索的線索字段進(jìn)行關(guān)鍵字提取和分詞處理,并對(duì)這些關(guān)鍵字進(jìn)行優(yōu)先級(jí)篩選及敏感信息過濾,然后提取出索引。
本實(shí)施例一種基于全文檢索的數(shù)據(jù)分類與數(shù)據(jù)檢索的裝置,包括:
預(yù)定義模塊,用于根據(jù)需要定義不同的業(yè)務(wù)模塊,建立業(yè)務(wù)模塊庫(kù),規(guī)劃各個(gè)業(yè)務(wù)模塊的數(shù)據(jù)處理機(jī)制,所述數(shù)據(jù)處理機(jī)制為業(yè)務(wù)模塊處理類的處理方法;
信息采集模塊,用于對(duì)數(shù)據(jù)進(jìn)行采集,并將數(shù)據(jù)與業(yè)務(wù)模塊庫(kù)中的業(yè)務(wù)模塊進(jìn)行關(guān)聯(lián);
數(shù)據(jù)分類模塊,用于對(duì)數(shù)據(jù)進(jìn)行結(jié)構(gòu)化和非結(jié)構(gòu)化分類;
數(shù)據(jù)持久化模塊,用于對(duì)分類之后的數(shù)據(jù)添加數(shù)據(jù)索引,將數(shù)據(jù)索引保存到數(shù)據(jù)索引庫(kù)中,然后借由數(shù)據(jù)庫(kù)持久化操作,將數(shù)據(jù)保存到對(duì)應(yīng)的數(shù)據(jù)庫(kù)中;同時(shí),還用于在用戶輸入檢索關(guān)鍵字時(shí),對(duì)儲(chǔ)存的數(shù)據(jù)進(jìn)行搜索,找到對(duì)應(yīng)數(shù)據(jù)的索引,通過索引找到相應(yīng)的數(shù)據(jù)并提取出來(lái);
數(shù)據(jù)分類處理模塊,用于根據(jù)數(shù)據(jù)與業(yè)務(wù)模塊的關(guān)聯(lián)信息,找到數(shù)據(jù)對(duì)應(yīng)的業(yè)務(wù)模塊,根據(jù)該業(yè)務(wù)模塊的數(shù)據(jù)處理機(jī)制,完成對(duì)數(shù)據(jù)的處理,得到檢索結(jié)果;
數(shù)據(jù)權(quán)限模塊,用于在數(shù)據(jù)分類處理模塊得到檢索結(jié)果后,再根據(jù)用戶的權(quán)限對(duì)上述檢索結(jié)果進(jìn)行過濾,最終將過濾后的檢索結(jié)果發(fā)送給用戶。
下面以線索數(shù)據(jù)為例,來(lái)具體說(shuō)明本實(shí)施例數(shù)據(jù)分類與數(shù)據(jù)檢索的方法:
在圖1中,用戶新建一條線索數(shù)據(jù),線索數(shù)據(jù)包含:線索主題、線索編號(hào)、線索類型、線索狀態(tài)、線索內(nèi)容、線索經(jīng)辦人、線索時(shí)間、線索附屬信息、線索涉及信息等信息。
系統(tǒng)根據(jù)數(shù)據(jù)關(guān)聯(lián)的業(yè)務(wù)模塊,與這條線索數(shù)據(jù)進(jìn)行關(guān)聯(lián),在采集過程中,將數(shù)據(jù)標(biāo)記為線索業(yè)務(wù)模塊的數(shù)據(jù),在需要檢索的字段的后綴加上”_Clue”,然后存入mongoDB等非結(jié)構(gòu)化數(shù)據(jù)庫(kù)中,也就是圖1中數(shù)據(jù)持久化模塊的實(shí)際數(shù)據(jù)庫(kù)。
之后將數(shù)據(jù)進(jìn)行分類,線索業(yè)務(wù)模塊的數(shù)據(jù)根據(jù)業(yè)務(wù)分類庫(kù),將數(shù)據(jù)存儲(chǔ)到對(duì)應(yīng)的持久化層中。期間,持久化模塊會(huì)智能的對(duì)需要檢索的線索字段進(jìn)行關(guān)鍵字提取和分詞處理,并對(duì)這些關(guān)鍵字進(jìn)行優(yōu)先級(jí)篩選及敏感信息過濾,再保存提取出來(lái)的索引,之后借由數(shù)據(jù)庫(kù)持久化操作,將數(shù)據(jù)保存到對(duì)應(yīng)的數(shù)據(jù)庫(kù)中。
在圖2中,用戶輸出想要檢索的關(guān)鍵字,系統(tǒng)根據(jù)關(guān)鍵字,利用企業(yè)級(jí)搜索引擎如solr等,通過智能比對(duì)算法對(duì)數(shù)據(jù)進(jìn)行部分模糊搜索,找到對(duì)應(yīng)數(shù)據(jù)的索引,再通過索引找到相應(yīng)的數(shù)據(jù)。數(shù)據(jù)提取出來(lái)后,根據(jù)數(shù)據(jù)關(guān)聯(lián)的業(yè)務(wù)模塊編號(hào),找到此業(yè)務(wù)模塊對(duì)應(yīng)的處理類,通過C#等面相對(duì)象語(yǔ)言的反射機(jī)制,找到對(duì)應(yīng)業(yè)務(wù)模塊處理類的處理方法,實(shí)例化處理類并執(zhí)行數(shù)據(jù)處理方法,以此實(shí)現(xiàn)對(duì)數(shù)據(jù)的處理。最后通過數(shù)據(jù)權(quán)限模塊,根據(jù)當(dāng)前用戶的權(quán)限,處理好的數(shù)據(jù)進(jìn)行過濾,并最終呈現(xiàn)給用戶,從而實(shí)現(xiàn)本發(fā)明的目的。
上述實(shí)施例為本發(fā)明較佳的實(shí)施方式,但本發(fā)明的實(shí)施方式并不受上述實(shí)施例的限制,其他的任何未背離本發(fā)明的精神實(shí)質(zhì)與原理下所作的改變、修飾、替代、組合、簡(jiǎn)化,均應(yīng)為等效的置換方式,都包含在本發(fā)明的保護(hù)范圍之內(nèi)。