一種全文檢索系統(tǒng)中可定制的數(shù)據(jù)抓取方法【專利摘要】本發(fā)明涉及一種全文檢索系統(tǒng)中可定制的數(shù)據(jù)抓取方法,通過在文檔存儲系統(tǒng)和全文檢索系統(tǒng)設(shè)置建索引模塊,對指定格式的文檔建立索引,該方法具體包括以下步驟:步驟101.建索引模塊從文檔存儲系統(tǒng)獲取文件元數(shù)據(jù),包括需要進行搜索的信息和文件的頭信息;步驟102.建索引模塊內(nèi)部通過文件的頭信息識別文件類型,對指定不需要的文件不獲取文件內(nèi)容,并過濾掉無需建立索引的文件;步驟103.建索引模塊從文檔存儲系統(tǒng)獲取需要建立索引的文件的內(nèi)容;步驟104.建索引模塊提交文件元數(shù)據(jù)和文件給全文檢索系統(tǒng)建立索引。與現(xiàn)有技術(shù)相比,本發(fā)明具有維護方便、提高檢索效率、降低訪問壓力等優(yōu)點。【專利說明】一種全文檢索系統(tǒng)中可定制的數(shù)據(jù)抓取方法【
技術(shù)領(lǐng)域:
】[0001]本發(fā)明涉及一種信息檢索技術(shù),尤其是涉及一種全文檢索系統(tǒng)中可定制的數(shù)據(jù)抓取方法?!?br>背景技術(shù):
】[0002]隨著企業(yè)的不斷發(fā)展,企業(yè)的文檔服務(wù)器上的文檔不斷增加,傳統(tǒng)時代通過大腦記憶和肉眼查找文檔的方式已經(jīng)完全不能滿足大部分的企業(yè)需求。有時對文檔存儲系統(tǒng)上的文檔進行歸檔,可以解決一部分問題。但是如果歸完檔之后還是很多的情況下,也不能快速地準確地進行查找。[0003]目前,為了滿足對擁有大規(guī)模的文檔服務(wù)器進行快速準確的查找的需求,通常采用文檔存儲系統(tǒng)和全文檢索系統(tǒng)相結(jié)合的做法。普通的搜索關(guān)鍵字,都是打開文件,順序讀取文件內(nèi)容查找關(guān)鍵詞。而全文檢索是建立關(guān)鍵詞與文檔的索引關(guān)系,當輸入關(guān)鍵詞的時候,可以直接定位到該文件,所以全文檢索系統(tǒng)能夠滿足大數(shù)據(jù)量下的搜索性能。常見的建索引方法有以下兩種:[0004]第一種,文檔上傳過程就立即或者后臺自動建立索引。這種方式因建立索引的時間開銷而降低了原本的文檔訪問的流暢性。而且某些系統(tǒng)甚至還需要將已存在的文檔重新導(dǎo)入一遍才能讓全文檢索建立索引。顯而易見,這種將文檔存儲和全文檢索深度耦合的做法對于已經(jīng)有大規(guī)模文檔的服務(wù)器不太適用,同時加大了整個服務(wù)器的維護難度。[0005]第二種,單獨一臺全文檢索服務(wù)器,先從文檔服務(wù)器上面把所有文件下載下來,然后建立索引,這種方式較第一種有了很大的進步。但是對于全文檢索系統(tǒng)來說,部分文檔(比如視頻音頻圖片等文件)容量大,將全部的文檔內(nèi)容提交去建索引意義不大。沒有將這些文檔過濾掉,下載這些大文件增加了文檔服務(wù)器的訪問壓力。然而有的時候企業(yè)的文檔服務(wù)器甚至可能只需要檢索某幾類最常用的文檔類型的數(shù)據(jù),其中有=Office文檔(Microsoftoffice)、pdf文檔(PortableDocumentFormat)和文本文檔。那么應(yīng)對這種需求,其他任何格式的文檔下載操作和建索引操作都是對服務(wù)器資源的一種浪費?!?br/>發(fā)明內(nèi)容】[0006]本發(fā)明的目的就是為了克服上述現(xiàn)有技術(shù)存在的缺陷而提供一種維護方便、提高檢索效率、降低訪問壓力的全文檢索系統(tǒng)中可定制的數(shù)據(jù)抓取方法,通過合理的流程將文檔存儲系統(tǒng)和全文檢索系統(tǒng)松耦合地結(jié)合起來,可對指定格式的文檔建立索引,降低文檔存儲系統(tǒng)的訪問壓力,提高全文全文檢索系統(tǒng)建立索引效率。[0007]本發(fā)明的目的可以通過以下技術(shù)方案來實現(xiàn):[0008]一種全文檢索系統(tǒng)中可定制的數(shù)據(jù)抓取方法,其特征在于,通過在文檔存儲系統(tǒng)和全文檢索系統(tǒng)設(shè)置建索引模塊,對指定格式的文檔建立索引,該方法具體包括以下步驟:[0009]步驟101,建索引模塊從文檔存儲系統(tǒng)獲取文件元數(shù)據(jù),包括需要進行搜索的信息和文件的頭信息;[0010]步驟102,建索引模塊內(nèi)部通過文件的頭信息識別文件類型,對指定不需要的文件不獲取文件內(nèi)容,并過濾掉無需建立索引的文件;[0011]步驟103,建索引模塊從文檔存儲系統(tǒng)獲取需要建立索引的文件的內(nèi)容;[0012]步驟104,建索引模塊提交文件元數(shù)據(jù)和文件給全文檢索系統(tǒng)建立索引。[0013]該方法具體為:[0014]步驟201,建索引模塊瀏覽文檔存儲系統(tǒng)目錄下所有文件的元數(shù)據(jù),并將這些元數(shù)據(jù)存放置容器中,然后執(zhí)行步驟202;[0015]步驟202,若該目錄下沒有文件,則直接結(jié)束;若該目錄下存在文件,則執(zhí)行步驟203;[0016]步驟203,取出容器中其中一個文件的元數(shù)據(jù)信息,并從容器中移除該項,然后執(zhí)行步驟204;[0017]步驟204,利用文件的元數(shù)據(jù)信息下載該文件的第一個數(shù)據(jù)塊,然后執(zhí)行步驟205;[0018]步驟205,通過Apachetika開源庫和文件的第一個數(shù)據(jù)塊內(nèi)容來識別文件的類型,然后執(zhí)彳了步驟206;[0019]步驟206,判斷該類型的文件內(nèi)容是否為需要用來搜索,若為是,執(zhí)行步驟207,否貝U,過濾掉該類型文件內(nèi)容,不需要下載剩余的數(shù)據(jù)塊,直接執(zhí)行步驟208;[0020]步驟207,下載剩余的數(shù)據(jù)塊,然后執(zhí)行步驟208:[0021]步驟208,將文件元數(shù)據(jù)信息和文件內(nèi)容提交給全文檢索系統(tǒng)建立索引,然后返回步驟202,進行下一個文件的建索引過程。[0022]與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點:[0023]1、維護方便,由于文檔存儲系統(tǒng)和全文檢索系統(tǒng)是通過建索引模塊這個適配層結(jié)合的,因此極大地降低了兩個系統(tǒng)的耦合性,更便于維護。[0024]2、提高檢索效率,由于建索引模塊在獲取文件的第一塊數(shù)據(jù)時,能夠根據(jù)文件頭識別文檔格式,因此可以對指定格式的文檔建立索引,同時由于不再是大而全且盲目的建索引,只對指定格式的文檔建立索引,因此提高全文檢索系統(tǒng)的效率。[0025]3、降低訪問壓力,一方面建索引模塊過濾掉了一些不需要建立索引的文檔的下載,減少了文檔存儲系統(tǒng)的訪問;另一方面不再需要去文檔存儲系統(tǒng)一個個查找需要文檔,而是可以先從全文檢索系統(tǒng)快速定位到文件,因此降低文檔存儲系統(tǒng)的訪問壓力?!緦@綀D】【附圖說明】[0026]圖1為本發(fā)明實現(xiàn)的整體結(jié)構(gòu)示意圖;[0027]圖2為本發(fā)明的工作流程圖;[0028]圖3為本發(fā)明具體實施例的流程圖?!揪唧w實施方式】[0029]下面結(jié)合附圖和具體實施例對本發(fā)明進行詳細說明。[0030]實施例1[0031]如圖1所示,一種全文檢索系統(tǒng)中可定制的數(shù)據(jù)抓取方法,其特征在于,通過在文檔存儲系統(tǒng)和全文檢索系統(tǒng)設(shè)置建索引模塊,對指定格式的文檔建立索引,該方法具體包括以下步驟:[0032]步驟101,建索引模塊從文檔存儲系統(tǒng)獲取文件元數(shù)據(jù),包括需要進行搜索的信息和文件的頭信息;[0033]步驟102,建索引模塊內(nèi)部通過文件的頭信息識別文件類型,對指定不需要的文件不獲取文件內(nèi)容,并過濾掉無需建立索引的文件;[0034]步驟103,建索引模塊從文檔存儲系統(tǒng)獲取需要建立索引的文件的內(nèi)容;[0035]步驟104,建索引模塊提交文件元數(shù)據(jù)和文件給全文檢索系統(tǒng)建立索引。[0036]如圖2所示,該方法具體為:[0037]步驟201,建索引模塊瀏覽文檔存儲系統(tǒng)目錄下所有文件的元數(shù)據(jù),并將這些元數(shù)據(jù)存放置容器中,然后執(zhí)行步驟202;[0038]步驟202,若該目錄下沒有文件,則直接結(jié)束;若該目錄下存在文件,則執(zhí)行步驟203;[0039]步驟203,取出容器中其中一個文件的元數(shù)據(jù)信息,并從容器中移除該項,然后執(zhí)行步驟204;[0040]步驟204,利用文件的元數(shù)據(jù)信息下載該文件的第一個數(shù)據(jù)塊,然后執(zhí)行步驟205;[0041]步驟205,通過Apachetika開源庫和文件的第一個數(shù)據(jù)塊內(nèi)容來識別文件的類型,然后執(zhí)彳了步驟206;[0042]步驟206,判斷該類型的文件內(nèi)容是否為需要用來搜索,若為是,執(zhí)行步驟207,否貝U,過濾掉該類型文件內(nèi)容,不需要下載剩余的數(shù)據(jù)塊,直接執(zhí)行步驟208;[0043]步驟207,下載剩余的數(shù)據(jù)塊,然后執(zhí)行步驟208;[0044]步驟208,將文件元數(shù)據(jù)信息和文件內(nèi)容提交給全文檢索系統(tǒng)建立索引,然后返回步驟202,進行下一個文件的建索引過程。[0045]實施例2[0046]本發(fā)明以全文檢索系統(tǒng)需要對所有文件的作者,文件的最后修改時間進行搜索,另外需要對office文件,pdf文件和文本文件的內(nèi)容進行搜索為例,以圖3進行詳細闡述。[0047]步驟301,瀏覽目錄下所有文件的文件ID、作者和最后修改時間,將其存放置容器中,然后執(zhí)彳丁步驟302。[0048]步驟302,若該目錄下沒有文件,則直接結(jié)束;若該目錄下存在文件,則執(zhí)行步驟303。[0049]步驟303,取出容器中其中一個文件的ID,并從容器中移除該項,然后執(zhí)行步驟304。[0050]步驟304,利用文件ID下載該文件的第一個數(shù)據(jù)塊,然后執(zhí)行步驟305。[0051]步驟305,通過Apachetika開源庫和文件的第一個塊的內(nèi)容識別文件的類型,然后執(zhí)行步驟306。[0052]步驟306,若該類型不是office文件,pdf文件和文本文件,則不需要下載剩余的數(shù)據(jù)塊,直接執(zhí)行步驟308。[0053]步驟307,對office文件,pdf文件和文本文件利用文件ID下載剩余的數(shù)據(jù)塊,然后執(zhí)行步驟308。[0054]步驟308,將文件作者和文件最后修改時間及其office文件,pdf文件和文本文件的內(nèi)容提交給全文檢索系統(tǒng)建立索引,然后執(zhí)行步驟302進行下一個文件的建索引過程?!緳?quán)利要求】1.一種全文檢索系統(tǒng)中可定制的數(shù)據(jù)抓取方法,其特征在于,通過在文檔存儲系統(tǒng)和全文檢索系統(tǒng)設(shè)置建索引模塊,對指定格式的文檔建立索引,該方法具體包括以下步驟:步驟101,建索引模塊從文檔存儲系統(tǒng)獲取文件元數(shù)據(jù),包括需要進行搜索的信息和文件的頭彳目息;步驟102,建索引模塊內(nèi)部通過文件的頭信息識別文件類型,對指定不需要的文件不獲取文件內(nèi)容,并過濾掉無需建立索引的文件:步驟103,建索引模塊從文檔存儲系統(tǒng)獲取需要建立索引的文件的內(nèi)容;步驟104,建索引模塊提交文件元數(shù)據(jù)和文件給全文檢索系統(tǒng)建立索引。2.根據(jù)權(quán)利要求1所述的一種全文檢索系統(tǒng)中可定制的數(shù)據(jù)抓取方法,其特征在于,該方法具體為:步驟201,建索引模塊瀏覽文檔存儲系統(tǒng)目錄下所有文件的元數(shù)據(jù),并將這些元數(shù)據(jù)存放置容器中,然后執(zhí)行步驟202;步驟202,若該目錄下沒有文件,則直接結(jié)束;若該目錄下存在文件,則執(zhí)行步驟203;步驟203,取出容器中其中一個文件的元數(shù)據(jù)信息,并從容器中移除該項,然后執(zhí)行步驟204;步驟204,利用文件的元數(shù)據(jù)信息下載該文件的第一個數(shù)據(jù)塊,然后執(zhí)行步驟205;步驟205,通過Apachetika開源庫和文件的第一個數(shù)據(jù)塊內(nèi)容來識別文件的類型,然后執(zhí)彳了步驟206;步驟206,判斷該類型的文件內(nèi)容是否為需要用來搜索,若為是,執(zhí)行步驟207,否則,過濾掉該類型文件內(nèi)容,不需要下載剩余的數(shù)據(jù)塊,直接執(zhí)行步驟208;步驟207,下載剩余的數(shù)據(jù)塊,然后執(zhí)行步驟208;步驟208,將文件元數(shù)據(jù)信息和文件內(nèi)容提交給全文檢索系統(tǒng)建立索引,然后返回步驟·202,進行下一個文件的建索引過程?!疚臋n編號】G06F17/30GK103853832SQ201410087789【公開日】2014年6月11日申請日期:2014年3月11日優(yōu)先權(quán)日:2014年3月11日【發(fā)明者】劉浪申請人:上海愛數(shù)軟件有限公司