[發(fā)明專利]一種MySQL多語言混合文本全文檢索的實現方法在審
| 申請?zhí)枺?/td> | 201410324275.0 | 申請日: | 2014-07-09 |
| 公開(公告)號: | CN104133854A | 公開(公告)日: | 2014-11-05 |
| 發(fā)明(設計)人: | 孔祥盛;潘紅;閃永強;張麗偉;高雪霞;張磊;茹蓓;常青;郜偉雪;魏紅娟;張濤;蘇明強 | 申請(專利權)人: | 新鄉(xiāng)學院 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京科億知識產權代理事務所(普通合伙) 11350 | 代理人: | 湯東鳳 |
| 地址: | 453003 河南*** | 國省代碼: | 河南;41 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 mysql 語言 混合 文本 全文 檢索 實現 方法 | ||
1.一種MySQL多語言混合文本全文檢索的實現方法,其特征在于,所述的MySQL多語言混合文本全文檢索的實現方法包括:
步驟一、MySQL多語言混合文本全文檢索的準備工作,具體任務包括:字符集的統(tǒng)一設置、創(chuàng)建測試用的數據庫、創(chuàng)建測試用的數據庫表、創(chuàng)建全文索引;
步驟二、創(chuàng)建MySQL正譯函數,該函數完成的功能是:將多語言混合文本統(tǒng)一正譯成“英文句子”;
步驟三、創(chuàng)建MySQL反譯函數,該函數完成的功能是:將正譯函數翻譯出來的“英文句子”反譯成多語言混合文本;
步驟四、正譯函數與反譯函數的測試;
步驟五、添加MySQL多語言混合文本測試數據,通過MySQL正譯函數的翻譯工作,將多語言混合文本測試數據正譯成“英文句子”,由MySQL內置的分詞技術建立全文索引;
步驟六、MySQL多語言混合文本全文檢索;
步驟七、自定義多語言混合文本停用詞表,節(jié)省索引所占用的儲存空間,提高檢索效率,同時提高多語言混合文本檢索的查全率和查準率;
步驟八、重建全文檢索。
2.如權利要求1所述的MySQL多語言混合文本全文檢索的實現方法,其特征在于,所述的MySQL多語言混合文本全文檢索的準備工作的具體內容為:
統(tǒng)一設置MySQL字符集、設置MySQL客戶機字符集為UTF8字符集,使用下列命令將MySQL所有字符集設置成UTF8字符集:
show?variables?like'%character%';
set?character_set_client=utf8;
set?character_set_connection=utf8;
set?character_set_database=utf8;
set?character_set_results=utf8;
set?character_set_server=utf8;
為了使MySQL客戶機兼容中文簡體、中文繁體、韓文、日文等多國語言,還需要將MySQL客戶機的字符集設置為UTF8字符集;
創(chuàng)建測試用的數據庫、創(chuàng)建測試用的數據庫表、創(chuàng)建全文索引,下面的SQL語句首先創(chuàng)建了一個test數據庫;然后創(chuàng)建了一個存儲引擎為MyISAM、默認字符集為utf8的書籍book表,該表包括ISBN號isbn字段、書名name字段、簡介brief_introduction字段、價格price字段以及出版時間publish_time字段,其中isbn字段為主鍵;最后向課程book表的簡介字段brief_introduction添加全文索引:
drop?database?if?exists?test;
create?database?test;
use?test;
create?table?book(
isbn?char(20)primary?key,
name?char(100)not?null,
brief_introduction?text?not?null,
price?decimal(6,2),
publish_time?date?not?null
)engine=MyISAM?default?charset=utf8;
create?fulltext?index?brief_fulltext?on?book(brief_introduction);。
3.如權利要求1所述的MySQL多語言混合文本全文檢索的實現方法,其特征在于,所述的創(chuàng)建MySQL正譯函數的具體方法為:
對于真正的英文單詞,正譯函數不進行任何處理,對于中文簡體、中文繁體、日文、韓文等多字節(jié)字符,正譯函數需要將這些字符統(tǒng)一轉換為“英文單詞”,為了區(qū)分真正的英文單詞與偽裝的“英文單詞”,正譯函數統(tǒng)一在偽裝的“英文單詞”前加上空格和反引號以示區(qū)分,其中空格用來表示單詞之間的分詞符號,反引號用來表示多字節(jié)字符的開始,最后MySQL正譯函數負責將所有的英文單詞連成“英文句子”,下面的SQL語句負責創(chuàng)建正譯函數,函數名為to_english_fn(),該函數接收text類型的文本數據,返回正譯后的text類型的文本數據:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于新鄉(xiāng)學院,未經新鄉(xiāng)學院許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410324275.0/1.html,轉載請聲明來源鉆瓜專利網。





