亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種基于Oracle數(shù)據(jù)庫的海量中文數(shù)據(jù)查詢方法及系統(tǒng)的制作方法

文檔序號(hào):6632602閱讀:469來源:國(guó)知局
一種基于Oracle數(shù)據(jù)庫的海量中文數(shù)據(jù)查詢方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明涉及一種基于Oracle數(shù)據(jù)庫的海量中文數(shù)據(jù)查詢方法及系統(tǒng),所述方法包括:步驟1,在Oracle數(shù)據(jù)庫層創(chuàng)建基于中文字段的文本索引;步驟2,創(chuàng)建兩個(gè)Job,一個(gè)Job用于給Oracle數(shù)據(jù)庫中的新增數(shù)據(jù)添加文本索引,另一個(gè)Job用于優(yōu)化Oracle數(shù)據(jù)庫中所有數(shù)據(jù)的文本索引;步驟3,在Oracle數(shù)據(jù)庫層執(zhí)行兩個(gè)job;步驟4,根據(jù)創(chuàng)建的文本索引,采用SQL語句在Oracle數(shù)據(jù)庫中進(jìn)行中文字段查詢。本發(fā)明在中文字段上建立文本索引,然后建立job定時(shí)地去給新增的數(shù)據(jù)建立索引和優(yōu)化已經(jīng)建立的索引,效率高,易于維護(hù),適合大數(shù)據(jù)的查詢。
【專利說明】一種基于Oracle數(shù)據(jù)庫的海量中文數(shù)據(jù)查詢方法及系統(tǒng)

【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及IT行業(yè)瀏覽器和數(shù)據(jù)庫大數(shù)據(jù)量查詢交互領(lǐng)域,特別是涉及一種基 于Oracle數(shù)據(jù)庫的海量中文數(shù)據(jù)查詢方法及系統(tǒng)。

【背景技術(shù)】
[0002] 在很多的系統(tǒng)中,經(jīng)常會(huì)遇到對(duì)中文字符的模糊查詢,比如:關(guān)于系統(tǒng)的地址管 理,數(shù)據(jù)量大概是上千萬的地址數(shù)據(jù),然后我們經(jīng)常會(huì)根據(jù)名稱來檢索這些中文數(shù)據(jù),傳統(tǒng) 的模糊查詢采用的是 :like"% XXXX% 〃這種方式來查詢,這種方式會(huì)進(jìn)行全表的掃描檢 索,在數(shù)據(jù)量比較小的系統(tǒng)中能夠基本滿足用戶的需求,遇到上百萬、甚至上千萬的數(shù)據(jù)的 時(shí)候,這種方式基本就做廢了,查詢速度非常地慢。因此,本發(fā)明提出了一種適合大數(shù)據(jù)查 詢的海量中文數(shù)據(jù)查詢方法及系統(tǒng)。


【發(fā)明內(nèi)容】

[0003] 本發(fā)明所要解決的技術(shù)問題是提供一種基于Oracle數(shù)據(jù)庫的海量中文數(shù)據(jù)查詢 方法及系統(tǒng),用于解決數(shù)據(jù)量大的中文數(shù)據(jù)查詢方法及系統(tǒng)。
[0004] 本發(fā)明解決上述技術(shù)問題的技術(shù)方案如下:一種基于Oracle數(shù)據(jù)庫的海量中文 數(shù)據(jù)查詢方法,包括:
[0005] 步驟1,在Oracle數(shù)據(jù)庫層創(chuàng)建基于中文字段的文本索引;
[0006] 步驟2,創(chuàng)建兩個(gè)Job,一個(gè)Job用于給Oracle數(shù)據(jù)庫中的新增數(shù)據(jù)添加文本索 弓丨,另一個(gè)Job用于優(yōu)化Oracle數(shù)據(jù)庫中所有數(shù)據(jù)的文本索引;
[0007] 步驟3,在Oracle數(shù)據(jù)庫層執(zhí)行兩個(gè)job ;
[0008] 步驟4,基于經(jīng)兩個(gè)Job處理后的文本索引,采用SQL語句在Oracle數(shù)據(jù)庫中進(jìn)行 中文字段查詢。
[0009] 在上述技術(shù)方案的基礎(chǔ)上,本發(fā)明還可以做如下改進(jìn)。
[0010] 進(jìn)一步,所述步驟1具體包括:
[0011] 步驟11,刪除Oracle數(shù)據(jù)庫層中原有的詞法分析器,并基于中文字段新建詞法分 析器;
[0012] 步驟12,刪除Oracle數(shù)據(jù)庫層中原有的非索引字表類,并基于中文字段新建非索 引字表類;
[0013] 步驟13,基于新建的非索引字表類創(chuàng)建非索引字表,該非索引字表中定義了所有 不適用于進(jìn)行數(shù)據(jù)查詢的詞語;
[0014] 步驟14,在Oracle數(shù)據(jù)庫中,對(duì)非索引字表中定義的詞語以外的所有中文字段創(chuàng) 建文本索引。
[0015] 進(jìn)一步,還包括對(duì)創(chuàng)建的文本索引進(jìn)行校驗(yàn)。
[0016] 進(jìn)一步,所述對(duì)創(chuàng)建的文本索引進(jìn)行校驗(yàn)包括:若能成功調(diào)用SQL語句中的 contains命令進(jìn)行查詢,貝U表明文本索引創(chuàng)建成功。
[0017] 進(jìn)一步,所述步驟2中,采用PLSQL工具創(chuàng)建job。
[0018] 進(jìn)一步,所述步驟2還包括:在創(chuàng)建Job時(shí),設(shè)置Job執(zhí)行的時(shí)間間隔。
[0019]本發(fā)明的技術(shù)方案還包括一種基于Oracle數(shù)據(jù)庫的海量中文數(shù)據(jù)查詢系統(tǒng),包 括:
[0020] 索引創(chuàng)建模塊,其用于在Oracle數(shù)據(jù)庫層創(chuàng)建基于中文字段的文本索引;
[0021] Job創(chuàng)建模塊,其用于創(chuàng)建兩個(gè)Job,一個(gè)Job用于給Oracle數(shù)據(jù)庫中的新增數(shù)據(jù) 添加文本索引,另一個(gè)Job用于優(yōu)化Oracle數(shù)據(jù)庫中所有數(shù)據(jù)的文本索引;
[0022] Job執(zhí)行模塊,其用于在Oracle數(shù)據(jù)庫層執(zhí)行兩個(gè)job ;
[0023] 查詢模塊,其用于基于經(jīng)兩個(gè)Job處理后的文本索引,采用SQL語句在Oracle數(shù) 據(jù)庫中進(jìn)行中文字段查詢。
[0024] 進(jìn)一步,所述索引創(chuàng)建模塊包括:
[0025] 詞法分析器處理模塊,其用于刪除Oracle數(shù)據(jù)庫層中原有的詞法分析器,并基于 中文字段新建詞法分析器;
[0026] 非索引字表類處理模塊,其用于刪除Oracle數(shù)據(jù)庫層中原有的非索引字表類,并 基于中文字段新建非索引字表類;
[0027] 非索引字表創(chuàng)建模塊,其用于基于新建的非索引字表類創(chuàng)建非索引字表,該非索 引字表中定義了所有不適用于進(jìn)行數(shù)據(jù)查詢的詞語;
[0028] 文本索引建立模塊,其用于在Oracle數(shù)據(jù)庫中,對(duì)非索引字表中定義的詞語以外 的所有中文字段創(chuàng)建文本索引。
[0029] 進(jìn)一步,還包括校驗(yàn)?zāi)K,其用于對(duì)創(chuàng)建的文本索引進(jìn)行校驗(yàn)。
[0030] 進(jìn)一步,所述非索引字表類處理模塊采用PLSQL工具創(chuàng)建job。
[0031] 本發(fā)明的有益效果是:本發(fā)明在中文字段上建立文本索引,然后建立job定時(shí)地 去給新增的數(shù)據(jù)建立索引和優(yōu)化已經(jīng)建立的數(shù)據(jù)的索引,這種方式效率高,且維護(hù)起來也 很容易,適合大數(shù)據(jù)的查詢。通過這種技術(shù)可以改善現(xiàn)在系統(tǒng)中模糊查詢存在的查詢慢問 題,有利于提商系統(tǒng)的整體性能。

【專利附圖】

【附圖說明】
[0032] 圖1為本發(fā)明所述基于Oracle數(shù)據(jù)庫的海量中文數(shù)據(jù)查詢方法的流程示意圖;
[0033] 圖2為本發(fā)明本發(fā)明所述基于Oracle數(shù)據(jù)庫的海量中文數(shù)據(jù)查詢系統(tǒng)的結(jié)構(gòu)示 意圖。

【具體實(shí)施方式】
[0034] 以下結(jié)合附圖對(duì)本發(fā)明的原理和特征進(jìn)行描述,所舉實(shí)例只用于解釋本發(fā)明,并 非用于限定本發(fā)明的范圍。
[0035] 如圖1所示,本實(shí)施例給出了一種基于Oracle數(shù)據(jù)庫的海量中文數(shù)據(jù)查詢方法, 包括:
[0036] 步驟1,在Oracle數(shù)據(jù)庫層創(chuàng)建基于中文字段的文本索引;
[0037] 步驟2,創(chuàng)建兩個(gè)Job,一個(gè)Job用于給Oracle數(shù)據(jù)庫中的新增數(shù)據(jù)添加文本索 弓丨,另一個(gè)Job用于優(yōu)化Oracle數(shù)據(jù)庫中所有數(shù)據(jù)的文本索引;
[0038] 步驟3,在Oracle數(shù)據(jù)庫層執(zhí)行兩個(gè)job;
[0039] 步驟4,基于經(jīng)兩個(gè)Job處理后的文本索引,采用SQL語句在Oracle數(shù)據(jù)庫中進(jìn)行 中文字段查詢。本實(shí)施例中所述步驟1具體包括:
[0040] 步驟11,刪除Oracle數(shù)據(jù)庫層中原有的詞法分析器,并基于中文字段新建詞法分 析器;
[0041] 步驟12,刪除Oracle數(shù)據(jù)庫層中原有的非索引字表類,并基于中文字段新建非索 引字表類;
[0042] 步驟13,基于新建的非索引字表類創(chuàng)建非索引字表,該非索引字表中定義了所有 不適用于進(jìn)行數(shù)據(jù)查詢的詞語;
[0043] 步驟14,在Oracle數(shù)據(jù)庫中,對(duì)非索引字表中定義的詞語以外的所有中文字段創(chuàng) 建文本索引。
[0044] 此外,還需要對(duì)創(chuàng)建的文本索引進(jìn)行校驗(yàn),具體方法為:若能調(diào)用SQL語句中的 contains命令進(jìn)行查詢,貝U表明文本索引創(chuàng)建成功。
[0045] 本實(shí)施例采用PLSQL工具創(chuàng)建job,且設(shè)置Job執(zhí)行的時(shí)間間隔,比如可以設(shè)置用 于給Oracle數(shù)據(jù)庫中的新增數(shù)據(jù)添加文本索引的Job每15分鐘執(zhí)行一次,設(shè)置用于優(yōu)化 Oracle數(shù)據(jù)庫中所有數(shù)據(jù)的文本索引的Job每天執(zhí)行一次。
[0046] 對(duì)應(yīng)地,本實(shí)施例還給出了一種基于Oracle數(shù)據(jù)庫的海量中文數(shù)據(jù)查詢系統(tǒng),如 圖2所示,包括:
[0047] 索引創(chuàng)建模塊,其用于在Oracle數(shù)據(jù)庫層創(chuàng)建基于中文字段的文本索引;
[0048] Job創(chuàng)建模塊,其用于創(chuàng)建兩個(gè)Job,一個(gè)Job用于給Oracle數(shù)據(jù)庫中的新增數(shù)據(jù) 添加文本索引,另一個(gè)Job用于優(yōu)化Oracle數(shù)據(jù)庫中所有數(shù)據(jù)的文本索引;
[0049] Job執(zhí)行模塊,其用于在Oracle數(shù)據(jù)庫層執(zhí)行兩個(gè)job;
[0050] 查詢模塊,其用于基于經(jīng)兩個(gè)Job處理后的文本索引,采用SQL語句在Oracle數(shù) 據(jù)庫中進(jìn)行中文字段查詢。
[0051] 此外,還包括校驗(yàn)?zāi)K,其用于對(duì)創(chuàng)建的文本索引進(jìn)行校驗(yàn)。
[0052] 本實(shí)施例中,所述索引創(chuàng)建模塊包括:
[0053] 詞法分析器處理模塊,其用于刪除Oracle數(shù)據(jù)庫層中原有的詞法分析器,并基于 中文字段新建詞法分析器;
[0054] 非索引字表類處理模塊,其用于刪除Oracle數(shù)據(jù)庫層中原有的非索引字表類,并 基于中文字段新建非索引字表類;
[0055] 非索引字表創(chuàng)建模塊,其用于基于新建的非索引字表類創(chuàng)建非索引字表,該非索 引字表中定義了所有不適用于進(jìn)行數(shù)據(jù)查詢的詞語;
[0056] 文本索引建立模塊,其用于在Oracle數(shù)據(jù)庫中,對(duì)非索引字表中定義的詞語以外 的所有中文字段創(chuàng)建文本索引。
[0057] 采用本實(shí)施例的海量中文數(shù)據(jù)查詢系統(tǒng)及方法,進(jìn)行數(shù)據(jù)查詢的具體實(shí)施過程如 下:
[0058] 1、刪除原有詞法分析器,若沒有詞法分析器會(huì)報(bào)錯(cuò),則可以忽略。實(shí)現(xiàn)的程序如 下:

【權(quán)利要求】
1. 一種基于Oracle數(shù)據(jù)庫的海量中文數(shù)據(jù)查詢方法,其特征在于,包括: 步驟1,在Oracle數(shù)據(jù)庫層創(chuàng)建基于中文字段的文本索引; 步驟2,創(chuàng)建兩個(gè)Job,一個(gè)Job用于給Oracle數(shù)據(jù)庫中的新增數(shù)據(jù)添加文本索引,另 一個(gè)Job用于優(yōu)化Oracle數(shù)據(jù)庫中所有數(shù)據(jù)的文本索引; 步驟3,在Oracle數(shù)據(jù)庫層執(zhí)行兩個(gè)Job ; 步驟4,基于經(jīng)兩個(gè)Job處理后的文本索引,采用SQL語句在Oracle數(shù)據(jù)庫中進(jìn)行中文 字段查詢。
2. 根據(jù)權(quán)利要求1所述的海量中文數(shù)據(jù)查詢方法,其特征在于,所述步驟1具體包括: 步驟11,刪除Oracle數(shù)據(jù)庫層中原有的詞法分析器,并基于中文字段新建詞法分析 器; 步驟12,刪除Oracle數(shù)據(jù)庫層中原有的非索引字表類,并基于中文字段新建非索引字 表類; 步驟13,基于新建的非索引字表類創(chuàng)建非索引字表,該非索引字表中定義了所有不適 用于進(jìn)行數(shù)據(jù)查詢的詞語; 步驟14,在Oracle數(shù)據(jù)庫中,對(duì)非索引字表中定義的詞語以外的所有中文字段創(chuàng)建文 本索引。
3. 根據(jù)權(quán)利要求1或2所述的海量中文數(shù)據(jù)查詢方法,其特征在于,還包括對(duì)創(chuàng)建的文 本索引進(jìn)行校驗(yàn)。
4. 根據(jù)權(quán)利要求3所述的海量中文數(shù)據(jù)查詢方法,其特征在于,所述對(duì)創(chuàng)建的文本索 引進(jìn)行校驗(yàn)包括:若能成功調(diào)用SQL語句中的contains命令進(jìn)行查詢,貝U表明文本索引創(chuàng) 建成功。
5. 根據(jù)權(quán)利要求1所述的海量中文數(shù)據(jù)查詢方法,其特征在于,所述步驟2中,采用 PLSQL工具創(chuàng)建job。
6. 根據(jù)權(quán)利要求1所述的海量中文數(shù)據(jù)查詢方法,其特征在于,所述步驟2還包括:在 創(chuàng)建Job時(shí),設(shè)置Job執(zhí)行的時(shí)間間隔。
7. -種基于Oracle數(shù)據(jù)庫的海量中文數(shù)據(jù)查詢系統(tǒng),其特征在于,包括: 索引創(chuàng)建模塊,其用于在OracIe數(shù)據(jù)庫層創(chuàng)建基于中文字段的文本索引; Job創(chuàng)建模塊,其用于創(chuàng)建兩個(gè)Job,一個(gè)Job用于給Oracle數(shù)據(jù)庫中的新增數(shù)據(jù)添加 文本索引,另一個(gè)Job用于優(yōu)化Oracle數(shù)據(jù)庫中所有數(shù)據(jù)的文本索引; Job執(zhí)行模塊,其用于在Oracle數(shù)據(jù)庫層執(zhí)行兩個(gè)job ; 查詢模塊,其用于基于經(jīng)兩個(gè)Job處理后的文本索引,采用SQL語句在Oracle數(shù)據(jù)庫 中進(jìn)行中文字段查詢。
8. 根據(jù)權(quán)利要求7所述的海量中文數(shù)據(jù)查詢系統(tǒng),其特征在于,所述索引創(chuàng)建模塊包 括: 詞法分析器處理模塊,其用于刪除Oracle數(shù)據(jù)庫層中原有的詞法分析器,并基于中文 字段新建詞法分析器; 非索引字表類處理模塊,其用于刪除Oracle數(shù)據(jù)庫層中原有的非索引字表類,并基于 中文字段新建非索引字表類; 非索引字表創(chuàng)建模塊,其用于基于新建的非索引字表類創(chuàng)建非索引字表,該非索引字 表中定義了所有不適用于進(jìn)行數(shù)據(jù)查詢的詞語; 文本索引建立模塊,其用于在Oracle數(shù)據(jù)庫中,對(duì)非索引字表中定義的詞語以外的所 有中文字段創(chuàng)建文本索引。
9. 根據(jù)權(quán)利要求7或8所述的海量中文數(shù)據(jù)查詢系統(tǒng),其特征在于,還包括校驗(yàn)?zāi)K, 其用于對(duì)創(chuàng)建的文本索引進(jìn)行校驗(yàn)。
10. 根據(jù)權(quán)利要求7所述的海量中文數(shù)據(jù)查詢系統(tǒng),其特征在于,所述非索引字表類處 理模塊采用PLSQL工具創(chuàng)建job。
【文檔編號(hào)】G06F17/30GK104317937SQ201410602655
【公開日】2015年1月28日 申請(qǐng)日期:2014年10月31日 優(yōu)先權(quán)日:2014年10月31日
【發(fā)明者】姜連海 申請(qǐng)人:北京思特奇信息技術(shù)股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1