[發明專利]一種MySQL多語言混合文本全文檢索的實現方法在審
| 申請號: | 201410324275.0 | 申請日: | 2014-07-09 |
| 公開(公告)號: | CN104133854A | 公開(公告)日: | 2014-11-05 |
| 發明(設計)人: | 孔祥盛;潘紅;閃永強;張麗偉;高雪霞;張磊;茹蓓;常青;郜偉雪;魏紅娟;張濤;蘇明強 | 申請(專利權)人: | 新鄉學院 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京科億知識產權代理事務所(普通合伙) 11350 | 代理人: | 湯東鳳 |
| 地址: | 453003 河南*** | 國省代碼: | 河南;41 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 mysql 語言 混合 文本 全文 檢索 實現 方法 | ||
技術領域
本發明屬于全文檢索領域,尤其涉及一種MySQL多語言混合文本全文檢索的實現方法。
背景技術
MySQL全文檢索使用特定的分詞技術、利用查詢關鍵字和查詢字段內容之間的相關度進行檢索,通過全文索引提高關鍵字的查全率和查準率。西文(例如英文)以單詞為單位,單詞之間以空格(或者逗號、點等符號)分隔,西文文本的分詞方法較為簡單,MySQL的MyISAM存儲引擎以及InnoDB存儲引擎內核都提供了西文文本的分詞技術,結合MySQL全文索引,MyISAM存儲引擎以及InnoDB存儲引擎都支持西文文本的全文檢索。
然而對于東亞文字(主要指中文簡體、中文繁體、日文、韓文等)而言,詞由一個或多個字組成,字與字之間沒有詞定界字符(例如空格、逗號、點等符號)進行分隔。以中文簡體為例,目前MySQL并沒有提供中文簡體文本的分詞算法,使得MySQL全文檢索解析器無法對中文簡體文本進行分詞,繼而無法創建中文簡體字符的全文索引,直接導致MySQL并不支持中文簡體文本的全文檢索。也就是說:MySQL中文簡體全文檢索的查全率和查準率幾乎為零。
截至目前,實現MySQL中文簡體全文檢索的方法主要有以下兩種:
1.使用分詞算法實現MySQL中文簡體全文檢索。
2.漢字轉拼音,借助存儲引擎的內核機制實現MySQL中文簡體全文檢索。
基于分詞算法的全文檢索的查全率與查準率與分詞算法密切相關,分詞算法的好壞直接導致MySQL全文檢索的檢索效果。由于中文、韓文、日文等分詞算法各不相同,使用分詞算法實現MySQL多語言混合文本的全文檢索并不可行。
漢字轉拼音的檢索方法沒有考慮到多音字的情況,同時也沒有考慮到同音不同詞的情況,由此將直接導致MySQL中文簡體全文檢索的失敗,使用該方法也不利于編程語言的擴展,例如需要根據具體編程語言提供PHP、Java、C或者.NET的漢字轉拼音算法,使用該方法,更無法實現MySQL多語言混合文本(諸如“我愛中國!我愛中國!ILoveChina!私は中國を愛しています!”)的全文檢索。
發明內容
本發明的目的在于提供一種MySQL多語言混合文本全文檢索的實現方法,旨在解決由于中文、韓文、日文等分詞算法各不相同,使用分詞算法實現MySQL多語言混合文本的全文檢索不可行,漢字轉拼音的檢索方法沒有考慮到多音字、同音不同詞的情況,不利于編程語言的擴展,無法實現MySQL多語言混合文本的全文檢索的問題。
本發明是這樣實現的,一種MySQL多語言混合文本全文檢索的實現方法包括:
步驟一、MySQL多語言混合文本全文檢索的準備工作,具體任務包括:字符集的統一設置、創建測試用的數據庫、創建測試用的數據庫表、創建全文索引;
步驟二、創建MySQL正譯函數,該函數完成的功能是:將多語言混合文本統一正譯成“英文句子”;
步驟三、創建MySQL反譯函數,該函數完成的功能是:將正譯函數翻譯出來的“英文句子”反譯成多語言混合文本;
步驟四、正譯函數與反譯函數的測試;
步驟五、添加MySQL多語言混合文本測試數據,通過MySQL正譯函數的翻譯工作,將多語言混合文本測試數據正譯成“英文句子”,由MySQL內置的分詞技術建立全文索引;
步驟六、MySQL多語言混合文本全文檢索;
步驟七、自定義多語言混合文本停用詞表,節省索引所占用的儲存空間,提高檢索效率,同時提高多語言混合文本檢索的查全率和查準率;
步驟八、重建全文檢索。
進一步,所述的MySQL多語言混合文本全文檢索的準備工作的具體內容為:
統一設置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;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于新鄉學院,未經新鄉學院許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410324275.0/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種超網絡構建方法
- 下一篇:一種具有智能檢測功能的數據處理方法及系統





