專利名稱::一種支持異構(gòu)地學(xué)數(shù)據(jù)資源的檢索方法及檢索系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及數(shù)據(jù)資源的查詢檢索領(lǐng)域,特別涉及一種靈活支持異構(gòu)地學(xué)數(shù)據(jù)資源的檢索方法及檢索系統(tǒng)。
背景技術(shù):
:數(shù)據(jù)是開展科學(xué)研究和進(jìn)行政府決策的基礎(chǔ)和前提。地學(xué)數(shù)據(jù)是科學(xué)數(shù)據(jù)中非常重要的一部分,是進(jìn)行地球科學(xué)分支學(xué)科研究和地球系統(tǒng)科學(xué)綜合研究的驅(qū)動(dòng)力。由于地球科學(xué)研究范圍涉及大氣圈、水圈、巖石圈、生物圈等各個(gè)圈層,支持地學(xué)研究的科學(xué)數(shù)據(jù)具有時(shí)空性、綜合性、海量、多源等特點(diǎn)。地學(xué)數(shù)據(jù)同時(shí)也是行業(yè)部門進(jìn)行領(lǐng)導(dǎo)決策的基礎(chǔ)資料,但是這些資料一般分散保存在不同的部門和個(gè)人手中。因此針對地學(xué)數(shù)據(jù)資源具有來源多樣、類型復(fù)雜、格式豐富、存儲(chǔ)分散等特征,需要一種靈活支持異構(gòu)地學(xué)數(shù)據(jù)資源的檢索方法和檢索系統(tǒng)。具體來說,地學(xué)數(shù)據(jù)資源通常有屬性、矢量、柵格三大類型數(shù)據(jù)。屬性數(shù)據(jù)涉及儀器監(jiān)測數(shù)據(jù)、調(diào)查統(tǒng)計(jì)數(shù)據(jù),要素屬性數(shù)據(jù)等,具有純文本,MSExcel、MSAccess等不同的存儲(chǔ)格式。矢量數(shù)據(jù)類型主要涉及空間數(shù)據(jù),是用點(diǎn),線,面及其X,Y坐標(biāo)來構(gòu)建點(diǎn),線,面等具體空間要素的數(shù)據(jù)模型,通常以關(guān)系型數(shù)據(jù)庫為載體存儲(chǔ)矢量數(shù)據(jù)。柵格數(shù)據(jù)是按網(wǎng)格單元的行與列排列、具有不同灰度或顏色的陣列數(shù)據(jù),是為方便表達(dá)地物空間分布的數(shù)據(jù)模型,一般是一種點(diǎn)陣圖像格式的存儲(chǔ)方式。柵格數(shù)據(jù)涉及到地學(xué)領(lǐng)域中大量的遙感影像數(shù)據(jù)。不同類型和存儲(chǔ)格式的地學(xué)數(shù)據(jù),給數(shù)據(jù)檢索帶來一定的困難。像柵格、矢量這類空間數(shù)據(jù)和部分屬性數(shù)據(jù)很難通過數(shù)據(jù)本身的概括描述其內(nèi)容信息。數(shù)據(jù)格式多樣同樣決定了檢索源的多樣性。不可能針對每一種數(shù)據(jù)格式甚至將來新的數(shù)據(jù)格式都重新寫一套檢索程序。而且,面向地學(xué)數(shù)據(jù)資源巨大的特點(diǎn),檢索到的數(shù)據(jù)結(jié)果按相關(guān)度排序的需求更加重要。目前在專業(yè)領(lǐng)域的數(shù)據(jù)檢索活動(dòng)中也缺乏商業(yè)專業(yè)搜索引擎所具備的按相關(guān)度排序的技術(shù)方案??梢钥闯?,在這種背景下,面向異構(gòu)地學(xué)數(shù)據(jù)資源的檢索的代價(jià)和復(fù)雜度都比較高,而且對檢索結(jié)果更缺乏像按相關(guān)度排序這類專業(yè)搜索引擎的處理方法。因此,特別需要一種靈活支持多種異構(gòu)地學(xué)數(shù)據(jù)資源,并人性化展示的數(shù)據(jù)檢索方法及數(shù)據(jù)檢索系統(tǒng)。
發(fā)明內(nèi)容本發(fā)明所要解決的技術(shù)問題在于,提供一種靈活支持異構(gòu)地學(xué)數(shù)據(jù)資源的檢索方法及檢索系統(tǒng)。為達(dá)到上述目的,本發(fā)明提供的支持異構(gòu)地學(xué)數(shù)據(jù)資源的檢索方法,包括建立索引的步驟和檢索索引的步驟,其特征在于,該建立索引的步驟進(jìn)一步包括一索引配置子步驟,用于以地學(xué)數(shù)據(jù)資源元數(shù)據(jù)作為數(shù)據(jù)源進(jìn)行索引參數(shù)配置;一索引建立子步驟,用于根據(jù)該索引配置子步驟中配置的更新索引文件的參數(shù),啟動(dòng)索引任務(wù)的建立,以根據(jù)配置好的索引參數(shù)建立索引。該檢索索引的步驟進(jìn)一步包括一檢索請求子步驟,用于根據(jù)檢索需求生成檢索請求;一檢索子步驟,用于根據(jù)該檢索請求進(jìn)行檢索,并輸出檢索結(jié)果到檢索響應(yīng)對象。上述支持異構(gòu)地學(xué)數(shù)據(jù)資源的檢索方法,其特征在于,所述索引配置子步驟進(jìn)一步包括步驟S101,確定地學(xué)數(shù)據(jù)資源元數(shù)據(jù);步驟S102,以該地學(xué)數(shù)據(jù)資源元數(shù)據(jù)作為數(shù)據(jù)源進(jìn)行索引參數(shù)配置;其中所述索引參數(shù)配置包括索引文件路徑參數(shù);自動(dòng)更新索引文件的參數(shù);索引數(shù)據(jù)源的訪問鏈接參數(shù);索引字段參數(shù);索引和檢索過程中日志記錄的路徑參數(shù)。上述支持異構(gòu)地學(xué)數(shù)據(jù)資源的檢索方法,其特征在于,所述索引建立子步驟進(jìn)一步包括對索引數(shù)據(jù)源進(jìn)行訪問,對數(shù)據(jù)源文檔進(jìn)行解析和語言分析處理、生成索引文件三個(gè)環(huán)節(jié)。上述支持異構(gòu)地學(xué)數(shù)據(jù)資源的檢索方法,其特征在于,所述步驟S102中,在索引參數(shù)配置時(shí),配置自動(dòng)更新索引文件的參數(shù),啟動(dòng)建立索引任務(wù)的定時(shí)器任務(wù)。上述支持異構(gòu)地學(xué)數(shù)據(jù)資源的檢索方法,其特征在于,所述檢索子步驟中進(jìn)一步包括一檢索結(jié)果處理步驟,用于對檢索結(jié)果進(jìn)行相關(guān)度排序處理及對該檢索結(jié)果進(jìn)行修飾處理。上述支持異構(gòu)地學(xué)數(shù)據(jù)資源的檢索方法,其特征在于,對檢索結(jié)果進(jìn)行相關(guān)度排序處理是通過如下公式獲取相關(guān)度排序涉及的參數(shù)值與第i個(gè)索引字段相匹配的相關(guān)度Mi第i個(gè)索引字段的權(quán)值pi最終的相關(guān)度值M為各索引字段相關(guān)度的和,即其中,已知參數(shù)t為索引字段的個(gè)數(shù);N為檢索詞經(jīng)分詞后的個(gè)數(shù);Wi為第i個(gè)索引字段權(quán)重;N為第i個(gè)索引字段相匹配的檢索詞經(jīng)分詞后的個(gè)數(shù);fi為檢索詞在第i個(gè)索引字段出現(xiàn)的詞頻。進(jìn)一步的,本發(fā)明還提供了一種實(shí)現(xiàn)上述方法的系統(tǒng),其特征在于,包括一引擎初始化子系統(tǒng),用于構(gòu)造引擎基礎(chǔ)對象和啟動(dòng)定時(shí)建立索引任務(wù);一索引子系統(tǒng),用于根據(jù)地學(xué)數(shù)據(jù)資源元數(shù)據(jù)作為數(shù)據(jù)源進(jìn)行索引參數(shù)配置,并根據(jù)配置好的索引參數(shù)建立索引;一檢索子系統(tǒng),用于根據(jù)檢索請求進(jìn)行檢索,并對檢索結(jié)果進(jìn)行處理后生成檢索響應(yīng)并返回檢索結(jié)果。上述系統(tǒng),其特征在于,還包括所述引擎基礎(chǔ)對象是進(jìn)行索引任務(wù)和索引檢索的參數(shù)。上述系統(tǒng),其特征在于,所述索引子系統(tǒng)進(jìn)一步包括一索引配置文件解析單元,用于解析索引配置文件,獲得與建立索引任務(wù)相關(guān)的參數(shù);一數(shù)據(jù)源統(tǒng)一訪問單元,用于對不同數(shù)據(jù)源提供一致的訪問方法;一索引任務(wù)單元,根據(jù)索引配置參數(shù),以參數(shù)指定的方式和位置建立索引文件;所述檢索子系統(tǒng)進(jìn)一步包括一檢索請求生成單元,用于根據(jù)檢索需求生成檢索請求;一檢索單元,根據(jù)檢索請求執(zhí)行檢索,輸出檢索結(jié)果到檢索響應(yīng)對象;一檢索響應(yīng)單元,用于根據(jù)檢索請求中的檢索返回類型對檢索結(jié)果進(jìn)行處理。上述系統(tǒng),其特征在于,所述檢索子系統(tǒng)還包括一結(jié)果處理單元,用于進(jìn)行檢索結(jié)果相關(guān)度的計(jì)算以及對檢索結(jié)果進(jìn)行修飾處理。圖1為本發(fā)明的一種地學(xué)數(shù)據(jù)資源檢索方法建立索引過程的實(shí)施例流程圖;圖2為本發(fā)明的一種地學(xué)數(shù)據(jù)資源檢索方法檢索索引過程的實(shí)施例流程圖;圖3為本發(fā)明的一種地學(xué)數(shù)據(jù)資源檢索系統(tǒng)的結(jié)構(gòu)框圖;圖4為本發(fā)明的一種地學(xué)數(shù)據(jù)資源檢索系統(tǒng)的引擎初始化流程圖。具體實(shí)施例方式下面結(jié)合附圖和實(shí)施例對本發(fā)明作詳細(xì)的說明,以進(jìn)一步了解本發(fā)明之目的、方案及功效。本發(fā)明提供的靈活支持異構(gòu)地學(xué)數(shù)據(jù)資源的檢索方法包括建立索引和檢索索引兩個(gè)相對獨(dú)立的過程。建立索引過程的基本思想是以元數(shù)據(jù)概括描述地學(xué)數(shù)據(jù)資源內(nèi)容的關(guān)鍵要素,并作為檢索的依據(jù)和來源。通過索引配置文件的機(jī)制,快速靈活的支持索引的構(gòu)建過程。針對地學(xué)數(shù)據(jù)資源多源異構(gòu)的特點(diǎn),以統(tǒng)一數(shù)據(jù)源訪問機(jī)制模糊不同數(shù)據(jù)類型、格式間的差異,達(dá)到對索引數(shù)據(jù)源的無縫讀取訪問。以索引文件和統(tǒng)一數(shù)據(jù)源訪問機(jī)制為基礎(chǔ)進(jìn)行索引的建立操作。索引的建立任務(wù)可被定制為定時(shí)自動(dòng)運(yùn)行。圖1示出了本發(fā)明檢索方法中建立索引過程的具體實(shí)施流程。參考圖1,本發(fā)明支持異構(gòu)地學(xué)數(shù)據(jù)資源的檢索方法中,建立索引的過程進(jìn)一步包括以下步驟步驟S101,確定地學(xué)數(shù)據(jù)資源元數(shù)據(jù)。元數(shù)據(jù)作為多種異構(gòu)地學(xué)數(shù)據(jù)的對數(shù)據(jù)內(nèi)容進(jìn)行說明,元數(shù)據(jù)表達(dá)采用XML格式,但不限于XML格式,存儲(chǔ)方式采用支持海量數(shù)據(jù)存儲(chǔ)的數(shù)據(jù)庫。步驟S102,以元數(shù)據(jù)作為數(shù)據(jù)源進(jìn)行索引參數(shù)配置。所述索引參數(shù)配置包括四部分(一)索引文件路徑參數(shù);(二)自動(dòng)更新索引文件的參數(shù),涉及啟動(dòng)時(shí)間、更新周期;(三)索引數(shù)據(jù)源的訪問鏈接參數(shù),針對不同的索引數(shù)據(jù)源的存儲(chǔ)形式,參數(shù)也不同。例如,對于數(shù)據(jù)庫類型的索引數(shù)據(jù)源,這里的參數(shù)主要涉及數(shù)據(jù)庫連接的服務(wù)器IP,端口,服務(wù)名(數(shù)據(jù)庫名),用戶名,密碼,表(視圖)名;(四)索引字段參數(shù),涉及索引的字段名,索引字段的權(quán)重,索引字段的索引模式。索引字段名區(qū)分了在檢索索引過程中檢索的范圍;索引字段的權(quán)重服務(wù)于檢索結(jié)果記錄相關(guān)度的計(jì)算,反映對應(yīng)索引字段對相關(guān)度的貢獻(xiàn),即在不同的索引字段都匹配到了結(jié)果,可以根據(jù)元數(shù)據(jù)組織的特點(diǎn)判斷哪個(gè)索引字段匹配到的結(jié)果更能反映用戶的檢索意圖,從而給其較大的權(quán)值,使得最終計(jì)算的相關(guān)度值提高。索引模式參數(shù)涉及是否對該索引字段進(jìn)行語言切分以及是否將該字段作為檢索字段,設(shè)置為不是檢索字段表示該字段中內(nèi)容僅是按原樣的存儲(chǔ)在索引文件中,不會(huì)被分詞,也不能作為可被檢索的字段;(五)索引和檢索過程中日志記錄的路徑參數(shù)。索引配置參數(shù)位于配置文件中,優(yōu)選XML格式的配置文件。步驟S103,步驟S102的索引配置中配置了自動(dòng)更新索引文件的參數(shù),啟動(dòng)定時(shí)器任務(wù)。定時(shí)器任務(wù)根據(jù)索引配置中的定時(shí)器任務(wù)啟動(dòng)時(shí)間和執(zhí)行周期參數(shù)自動(dòng)啟動(dòng)。定時(shí)器執(zhí)行的任務(wù)是建立索引任務(wù)。執(zhí)行任務(wù)是異步進(jìn)行的,不影響當(dāng)前的任何其他操作。索引的定時(shí)更新方式對經(jīng)常更新變化的地學(xué)數(shù)據(jù)資源很有意義。步驟S104,根據(jù)配置好的索引參數(shù)建立索引。索引的建立過程涉及對索引數(shù)據(jù)源的訪問,對數(shù)據(jù)源文檔進(jìn)行解析和語言分析處理,生成索引文件三個(gè)環(huán)節(jié)。對索引數(shù)據(jù)源的訪問通過解析步驟S102中的索引配置文件,得到索引數(shù)據(jù)源的訪問鏈接參數(shù),通過對應(yīng)的數(shù)據(jù)源訪問方法讀取數(shù)據(jù)信息,然后進(jìn)行數(shù)據(jù)信息的解析和語言分析處理。根據(jù)步驟102中的索引配置文件索引模式參數(shù)的設(shè)置確定是否進(jìn)行語言上的分詞處理。對英語的分詞處理通過空格自然分開,對中文,則應(yīng)該借助于中文分詞詞庫或一些分詞算法進(jìn)行語言處理。生成索引文件涉及到索引文件的結(jié)構(gòu),索引文件記錄除了存儲(chǔ)索引數(shù)據(jù)源本身外,更重要的是記錄了索引詞在數(shù)據(jù)源中出現(xiàn)的頻率和位置,索引詞出現(xiàn)的頻率可作為計(jì)算相關(guān)度的要素,索引詞出現(xiàn)的位置是用來在檢索過程中定位存儲(chǔ)在索引文件中的索引數(shù)據(jù)源。圖2示出了本發(fā)明檢索方法中檢索索引過程的具體實(shí)施例流程。參考圖2,本發(fā)明檢索方法中檢索索引過程具體包括以下步驟步驟S201,根據(jù)用戶檢索需求生成檢索請求。用戶檢索需求包括指定檢索字段,各檢索字段對應(yīng)的檢索詞,檢索詞在檢索結(jié)果中的包含情況,檢索字段間的關(guān)系,檢索結(jié)果的顯示、返回格式。用戶檢索有兩種形式的檢索途徑可供選擇,它們是一般檢索和高級檢索。在一般檢索中,由檢索服務(wù)提供者根據(jù)數(shù)據(jù)資源的特點(diǎn)指定默認(rèn)的檢索字段,無需用戶指定檢索字段;在高級檢索中,由用戶選擇一個(gè)或多個(gè)檢索字段限定檢索范圍。檢索詞在檢索結(jié)果的包含情況涉及檢索結(jié)果中包含全部檢索詞、檢索結(jié)果中包含任意檢索詞、檢索結(jié)果中不包含檢索詞三種情況。檢索字段間的關(guān)系包括“與”、“或”?!芭c”表示兩者同時(shí)成立,“或”表示兩者中至少一個(gè)成立。檢索結(jié)果的顯示涉及每頁記錄條數(shù)和請求的頁碼,檢索結(jié)果的返回格式包括面向特定編程語言的集合對象形式、JSON格式、XML格式。用戶的檢索需求表現(xiàn)為一串檢索參數(shù),這些參數(shù)在進(jìn)行檢索前生成檢索請求,檢索請求的核心是符合一定語法規(guī)則的檢索表達(dá)式。檢索請求中還包括指定的索引參數(shù)配置文件。針對不同的數(shù)據(jù)源,可能出現(xiàn)不同的索引參數(shù)配置文件。步驟S202,根據(jù)檢索請求進(jìn)行檢索。根據(jù)步驟S201檢索請求中的檢索字段、檢索詞、檢索詞在檢索結(jié)果的包含情況以及索引參數(shù)配置文件的路徑參數(shù),執(zhí)行檢索。執(zhí)行檢索前,通過語言分析處理對檢索詞進(jìn)行分詞,遍歷檢索請求中的全部檢索字段執(zhí)行對應(yīng)的檢索,根據(jù)檢索字段間的關(guān)系合并檢索結(jié)果。步驟S203,對檢索結(jié)果進(jìn)行相關(guān)度排序處理。進(jìn)行相關(guān)度排序的核心是檢索結(jié)果相關(guān)度的計(jì)算。相關(guān)度計(jì)算涉及兩個(gè)參數(shù)步驟S102中索引配置文件參數(shù)中的索引字段權(quán)重值,步驟S104索引過程中計(jì)算出的詞頻值。相關(guān)度的計(jì)算方法如下已知檢索詞經(jīng)分詞后的個(gè)數(shù)N;第i個(gè)索引字段權(quán)重Wi;與第i個(gè)索引字段相匹配的檢索詞經(jīng)分詞后的個(gè)數(shù)n;檢索詞在第i個(gè)索引字段出現(xiàn)的詞頻fi;第i個(gè)索引字段的權(quán)值Pi,它由下式計(jì)算得出t為索引字段的個(gè)數(shù)那么與第i個(gè)索引字段相匹配的相關(guān)度所以最終的相關(guān)度值為各索引字段相關(guān)度的和,即步驟S204,對檢索結(jié)果進(jìn)行修飾處理。通過在檢索結(jié)果的文本中,將所有與檢索詞匹配的文本前后分別加上前綴和后綴,使匹配到的檢索詞突顯。例如在Web網(wǎng)頁中顯示檢索結(jié)果,可在其前后分別加“<b>”和“</b>”使字體加粗來突顯匹配到的檢索詞。步驟S205,生成檢索響應(yīng)并返回檢索結(jié)果。檢索響應(yīng)對檢索結(jié)果進(jìn)行封裝,根據(jù)步驟S201中檢索請求中的每頁記錄條數(shù)和請求返回的頁碼進(jìn)行處理。根據(jù)檢索請求中的檢索返回類型參數(shù)對檢索結(jié)果進(jìn)行相應(yīng)的處理,例如,輸出JSON格式或XML格式返回給用戶。參考圖3,本發(fā)明示出了一種靈活支持異構(gòu)地學(xué)數(shù)據(jù)資源的檢索系統(tǒng)(圖3),系統(tǒng)分為引擎初始化子系統(tǒng)、索引子系統(tǒng)和檢索子系統(tǒng)。引擎初始化子系統(tǒng)301包括引擎基礎(chǔ)對象3011和引擎初始化單元3012。引擎基礎(chǔ)對象3011是進(jìn)行索引任務(wù)和索引檢索的參數(shù),封裝的是Lucene的索引存儲(chǔ)抽象類Directory和語言分析器Analyzer。它們在索引子系統(tǒng)和檢索子系統(tǒng)中都會(huì)被用到。索引子系統(tǒng)302中,它們是構(gòu)造Lucene索引器(IndexWriter)的參數(shù);檢索子系統(tǒng)303中,索引目錄和語言分析器分別用來構(gòu)造Lucene檢索器(IndexSearcher)和查詢對象(Query)。Directory與讀寫磁盤索引文件有關(guān)。當(dāng)索引文件較大的時(shí)候,建立Directory對象的時(shí)間會(huì)遠(yuǎn)大于執(zhí)行查詢的時(shí)間;同樣引擎基礎(chǔ)對象3011封裝的Analyzer為中文語言分析器時(shí),一般會(huì)有一個(gè)中文詞庫文件作基礎(chǔ),從磁盤載入中文詞庫同樣也是耗時(shí)的。引擎基礎(chǔ)對象3011以靜態(tài)方式存在于引擎初始化單元3012中,并在索引子系統(tǒng)302和檢索子系統(tǒng)303中共享同一個(gè)引擎基礎(chǔ)對象3011,避免了頻繁的構(gòu)造引擎基礎(chǔ)對象。引擎初始化單元3012涉及構(gòu)造引擎基礎(chǔ)對象和定時(shí)啟動(dòng)索引任務(wù)。其前提是傳入索引配置文件路徑名和指定的語言分析器。初始化流程如圖4,引擎初始化系統(tǒng)的初始化實(shí)施流程具體包括步驟S401,配置文件路徑名和語言分析器;步驟S402,解析配置文件獲得索引路徑IndexPath、日志記錄路徑LogPath;步驟S403,構(gòu)造引擎基礎(chǔ)對象FoundationObjects;步驟S404,解析配置文件獲得索引自動(dòng)更新參數(shù);索引自動(dòng)更新參數(shù)存在,則構(gòu)造索引建立任務(wù)對象IndexingTask,轉(zhuǎn)步驟S405否則結(jié)束。步驟S405,根據(jù)索引自動(dòng)更新參數(shù)調(diào)度運(yùn)行索引建立任務(wù);首先是用語言分析器和解析配置文件得到的索引文件的路徑構(gòu)造引擎基礎(chǔ)對象;然后,如果要求定時(shí)自動(dòng)更新索引,則構(gòu)造索引任務(wù)。索引任務(wù)繼承于J2SE的TimerTask,在重載的run()方法中實(shí)現(xiàn)了后臺創(chuàng)建索引的功能。索引任務(wù)可通過J2SETimer.schedule()方法定時(shí)運(yùn)行。索引子系統(tǒng)302包括索引配置文件解析單元3021、數(shù)據(jù)源統(tǒng)一訪問單元3022、索引任務(wù)單元3023。索引配置文件解析單元3021涉及索引配置文件和索引配置文件解析器兩部分。索引配置文件為XML格式,由<Index>、<Source>、<LogPath>三大元素構(gòu)成,如下例所示<?xmlversion=″1.0″e(cuò)ncoding=″UTF-8″?><Configuration><Index><Path>d:\Index</Path><AutoUpdateautoUpdatePeriod=″04:00:00″autoUpdateTime=″00:00:00″/></Index><LogPath>d:\SearchLog</LogPath><Source><Database><IndexFields><IndexFieldfieldname=″ID″index=″NO″/><IndexFieldfieldname=″TITLE″index=″TOKENIZED″boost=″5″/><IndexFieldfieldname=″PROCUCOR″index=″TOKENIZED″/><IndexFieldfieldname=″SUBMITTIME″index=″NO_NORMS″/></IndexFields><ConnectiondatabaseType=″Oracle″url=″jdbc:oracle:thin:@192.168.1.11521:data″username=″usr″password=″pwd″/><SQLSentence>select*fromtable</SQLSentence></Database></Source></Configuration><Index>中的<Path>為索引文件路徑,<AutoUpdate>中的兩個(gè)屬性分別指定了首次建立索引的時(shí)間和之后重建索引的間隔時(shí)間。如果數(shù)據(jù)源相對穩(wěn)定,無需定時(shí)重建索引,只需去掉該元素,表示不啟動(dòng)定時(shí)重建索引任務(wù)即可。<LogPath>為日志文件的路徑設(shè)置。<Source>元素內(nèi)可以指定多種數(shù)據(jù)源(Database,Excel,XML,HTML等)中的任意一種。每種數(shù)據(jù)源類型有對應(yīng)的訪問機(jī)制。實(shí)例中<Database>元素指定了數(shù)據(jù)庫類型的數(shù)據(jù)源,其中<Connection>、<SQLSentence>分別指定了連接數(shù)據(jù)庫的參數(shù)和SQL語句。<Source>中的<IndexField>元素及其屬性用來設(shè)定如何建立索引字段。<IndexField>的中的fieldname是字段名稱;boost(可選)屬性用來增加索引字段的權(quán)重;index表示索引模式,存在TOKENIZED、NO_NORMS,NO三種參數(shù)值,分別表示詞切分并索引,不切分并索引,不索引僅存儲(chǔ)。數(shù)據(jù)源統(tǒng)一訪問單元3022為讀取不同數(shù)據(jù)源提供了抽象方法,如open(),close(),next()等。支持不同類型的數(shù)據(jù)源,只需提供對應(yīng)的抽象方法實(shí)現(xiàn)即可。建立索引中應(yīng)該使用哪種數(shù)據(jù)源類型的訪問實(shí)現(xiàn),通過解析索引配置文件的數(shù)據(jù)源類型來確定。索引任務(wù)單元3023是索引子系統(tǒng)的核心。索引任務(wù)單元3023基于Lucene實(shí)現(xiàn)。通過引擎基礎(chǔ)對象封裝的索引目錄(Directory)對象和語言分析器(Analyzer)構(gòu)建Lucene的索引器(IndexWriter)。Lucene的索引器通過數(shù)據(jù)統(tǒng)一訪問單元的open()方法建立與索引數(shù)據(jù)源的連接,然后調(diào)用next()方法遍歷索引數(shù)據(jù)源,讀取索引數(shù)據(jù)源內(nèi)容,進(jìn)行索引,索引完成后,通過數(shù)據(jù)源統(tǒng)一訪問單元的close()關(guān)閉與數(shù)據(jù)源的連接。檢索子系統(tǒng)303包括檢索請求單元3031,檢索單元3032,檢索響應(yīng)單元3033。檢索請求由下表所示的元素組成。其核心是子句的列表,并有多個(gè)Add()方法可以用來添加子句。進(jìn)行檢索時(shí),根據(jù)這些子句,檢索請求單元3031基于Lucene生成Lucene的查詢對象(Query)。檢索單元3032根據(jù)檢索請求單元3031的信息執(zhí)行檢索,輸出檢索結(jié)果到檢索響應(yīng)對象。檢索響應(yīng)單元3033封裝Lucene的Hits對象,提供友好的分頁讀取方法,包括跳至某頁(gotoPage),計(jì)算總頁數(shù)(TotalPages)。另外檢索響應(yīng)單元增加了檢索結(jié)果高亮顯示的功能,對檢索結(jié)果中與檢索詞匹配的字符串的前后添加前綴標(biāo)記和后綴標(biāo)記,例如“<b>土地</b>利用現(xiàn)狀”突出顯示了“土地”這個(gè)詞。檢索響應(yīng)單元提供了設(shè)置高亮顯示前后綴標(biāo)記的方法voidsetHighlightFormat(StringpreTag,StringpostTag)。該檢索響應(yīng)單元中還包括一檢索結(jié)果處理單元,用于進(jìn)行檢索結(jié)果相關(guān)度排序的計(jì)算以及對檢索結(jié)果進(jìn)行修飾處理,該檢索結(jié)果處理單元中,封裝了相關(guān)度排序計(jì)算模型。雖然本發(fā)明已以較佳實(shí)施例揭露如上,然其并非用以限定本發(fā)明,在不背離本發(fā)明精神及其實(shí)質(zhì)的情況下,熟悉本領(lǐng)域的技術(shù)人員當(dāng)可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變形,但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護(hù)范圍。權(quán)利要求1、一種支持異構(gòu)地學(xué)數(shù)據(jù)資源的檢索方法,包括建立索引的步驟和檢索索引的步驟,其特征在于,該建立索引的步驟進(jìn)一步包括一索引配置子步驟,用于以地學(xué)數(shù)據(jù)資源元數(shù)據(jù)作為數(shù)據(jù)源進(jìn)行索引參數(shù)配置;一索引建立子步驟,用于根據(jù)該索引配置子步驟中配置的更新索引文件的參數(shù),啟動(dòng)索引任務(wù)的建立,以根據(jù)配置好的索引參數(shù)建立索引;該檢索索引的步驟進(jìn)一步包括一檢索請求子步驟,用于根據(jù)檢索需求生成檢索請求;一檢索子步驟,用于根據(jù)該檢索請求進(jìn)行檢索,并輸出檢索結(jié)果到檢索響應(yīng)對象。2、根據(jù)權(quán)利要求1所述的支持異構(gòu)地學(xué)數(shù)據(jù)資源的檢索方法,其特征在于,所述索引配置子步驟進(jìn)一步包括步驟S101,確定地學(xué)數(shù)據(jù)資源元數(shù)據(jù);步驟S102,以該地學(xué)數(shù)據(jù)資源元數(shù)據(jù)作為數(shù)據(jù)源進(jìn)行索引參數(shù)配置;其中所述索引參數(shù)配置包括索引文件路徑參數(shù);自動(dòng)更新索引文件的參數(shù);索引數(shù)據(jù)源的訪問鏈接參數(shù);索引字段參數(shù);索引和檢索過程中日志記錄的路徑參數(shù)。3、根據(jù)權(quán)利要求1所述的支持異構(gòu)地學(xué)數(shù)據(jù)資源的檢索方法,其特征在于,所述索引建立子步驟進(jìn)一步包括對索引數(shù)據(jù)源進(jìn)行訪問,對數(shù)據(jù)源文檔進(jìn)行解析和語言分析處理、生成索引文件三個(gè)環(huán)節(jié)。4、根據(jù)權(quán)利要求2所述的支持異構(gòu)地學(xué)數(shù)據(jù)資源的檢索方法,其特征在于,所述步驟S102中,在索引參數(shù)配置時(shí),配置自動(dòng)更新索引文件的參數(shù),啟動(dòng)建立索引任務(wù)的定時(shí)器任務(wù)。5、根據(jù)權(quán)利要求1所述的支持異構(gòu)地學(xué)數(shù)據(jù)資源的檢索方法,其特征在于,所述檢索子步驟中進(jìn)一步包括一檢索結(jié)果處理步驟,用于對檢索結(jié)果進(jìn)行相關(guān)度排序處理及對該檢索結(jié)果進(jìn)行修飾處理。6、根據(jù)權(quán)利要求5所述的支持異構(gòu)地學(xué)數(shù)據(jù)資源的檢索方法,其特征在于,對檢索結(jié)果進(jìn)行相關(guān)度排序處理是通過如下公式獲取相關(guān)度排序涉及的參數(shù)值與第i個(gè)索引字段相匹配的相關(guān)度Mi第i個(gè)索引字段的權(quán)值pi最終的相關(guān)度值M為各索引字段相關(guān)度的和,即其中,已知參數(shù)t為索引字段的個(gè)數(shù);N為檢索詞經(jīng)分詞后的個(gè)數(shù);Wi為第i個(gè)索引字段權(quán)重;N為第i個(gè)索引字段相匹配的檢索詞經(jīng)分詞后的個(gè)數(shù);fi為檢索詞在第i個(gè)索引字段出現(xiàn)的詞頻。7、一種實(shí)現(xiàn)上述權(quán)利要求1~6中任一項(xiàng)所述方法的系統(tǒng),其特征在于,包括一引擎初始化子系統(tǒng),用于構(gòu)造引擎基礎(chǔ)對象和啟動(dòng)定時(shí)建立索引任務(wù);一索引子系統(tǒng),用于根據(jù)地學(xué)數(shù)據(jù)資源元數(shù)據(jù)作為數(shù)據(jù)源進(jìn)行索引參數(shù)配置,并根據(jù)配置好的索引參數(shù)建立索引;一檢索子系統(tǒng),用于根據(jù)檢索請求進(jìn)行檢索,并對檢索結(jié)果進(jìn)行處理后生成檢索響應(yīng)并返回檢索結(jié)果。8、根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,還包括所述引擎基礎(chǔ)對象是進(jìn)行索引任務(wù)和索引檢索的參數(shù)。9、根據(jù)權(quán)利要求7或8所述的系統(tǒng),其特征在于,所述索引子系統(tǒng)進(jìn)一步包括一索引配置文件解析單元,用于解析索引配置文件,獲得與建立索引任務(wù)相關(guān)的參數(shù);一數(shù)據(jù)源統(tǒng)一訪問單元,用于對不同數(shù)據(jù)源提供一致的訪問方法;一索引任務(wù)單元,根據(jù)索引配置參數(shù),以參數(shù)指定的方式和位置建立索引文件;所述檢索子系統(tǒng)進(jìn)一步包括一檢索請求生成單元,用于根據(jù)檢索需求生成檢索請求;一檢索單元,根據(jù)檢索請求執(zhí)行檢索,輸出檢索結(jié)果到檢索響應(yīng)對象;一檢索響應(yīng)單元,用于根據(jù)檢索請求中的檢索返回類型對檢索結(jié)果進(jìn)行處理。10、根據(jù)權(quán)利要求9所述的系統(tǒng),其特征在于,所述檢索子系統(tǒng)還包括一結(jié)果處理單元,其中封裝了檢索結(jié)果相關(guān)度排序的計(jì)算模型,用于進(jìn)行檢索結(jié)果相關(guān)度排序的計(jì)算以及對檢索結(jié)果進(jìn)行修飾處理。全文摘要本發(fā)明公開了一種支持異構(gòu)地學(xué)數(shù)據(jù)資源的檢索方法及系統(tǒng),該方法包括建立索引的步驟和檢索索引的步驟,該建立索引的步驟進(jìn)一步包括一索引配置子步驟,用于以地學(xué)數(shù)據(jù)資源元數(shù)據(jù)作為數(shù)據(jù)源進(jìn)行索引參數(shù)配置;一索引建立子步驟,用于根據(jù)該索引配置子步驟中配置的更新索引文件的參數(shù),啟動(dòng)索引任務(wù)的建立,以根據(jù)配置好的索引參數(shù)建立索引。該檢索索引的步驟進(jìn)一步包括一檢索請求子步驟,用于根據(jù)檢索需求生成檢索請求;一檢索子步驟,用于根據(jù)該檢索請求進(jìn)行檢索,并輸出檢索結(jié)果到檢索響應(yīng)對象。本發(fā)明面向檢索的代價(jià)和復(fù)雜度都比較高的異構(gòu)地學(xué)數(shù)據(jù)資源,提供了一種靈活支持多種異構(gòu)地學(xué)數(shù)據(jù)資源,并人性化展示的數(shù)據(jù)檢索方法及數(shù)據(jù)檢索系統(tǒng)。文檔編號G06F17/30GK101609460SQ20091008973公開日2009年12月23日申請日期2009年7月22日優(yōu)先權(quán)日2009年7月22日發(fā)明者佳宋,諸云強(qiáng),敏馮,佳杜,廖順寶申請人:中國科學(xué)院地理科學(xué)與資源研究所