專利名稱:一種數(shù)據(jù)庫搜索方法、系統(tǒng)及移動通信終端的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于信息檢索領(lǐng)域,尤其涉及一種數(shù)據(jù)庫搜索方法、系統(tǒng)以及移動 通信終端。
背景技術(shù):
隨著科技的發(fā)展,市場的需求,移動電話已不僅限于進行通話和收發(fā)短信, 集電腦、網(wǎng)絡(luò)、多i某體、娛樂等功能于一身,正向著越來越多元化的方向發(fā)展, 成為現(xiàn)代生活必不可少的工具之一。移動電話作為一種電腦之外最重要的工作 工具,海量的存儲尤為重要。移動電話存儲數(shù)據(jù)的容量不斷增長,可以存儲大 量的電話本、短信、電子郵件等通信信息,滿足了用戶對各種通信資料的存儲 需求。如何從龐大存儲信息中檢索出需要的數(shù)據(jù),如何使檢索的過程更有效率、 檢索方式更適合用戶的檢索習(xí)慣、檢索到的數(shù)據(jù)更方便用戶使用,是移動通信 領(lǐng)域一個重要的研究方向。
最常見的檢索為以聯(lián)系人的姓名為關(guān)鍵詞查詢聯(lián)系人的相關(guān)通信信息,當(dāng) 需要查詢某個聯(lián)系人通信信息時,用戶可以直接輸入聯(lián)系人的姓名進行精確檢 索,也可以通過輸入該聯(lián)系人的姓氏進行精確查詢,大多數(shù)情況是用戶為了方 便或者未準確記憶聯(lián)系人的姓名信息,可能輸入聯(lián)系人姓名中的部分關(guān)鍵字進 行查詢。假設(shè)用戶想查找姓名為"蔡勝"的聯(lián)系人,用戶的查詢聯(lián)系人姓名的
方式有
(1) 直接輸入聯(lián)系人的姓名,例如"蔡勝,,;
(2) 輸入聯(lián)系人的姓氏,例如"蔡,,;
(3) 輸入聯(lián)系人名字中的某個字,如"蔡"或者"勝";
(4) 輸入聯(lián)系人姓名中的某幾個字,但這些關(guān)鍵字雜亂排列,如"勝蔡",這種方式最符合用戶的查詢習(xí)慣,因為通常用戶不能準確記憶某聯(lián) 系人信息,但又需要查詢功能幫助其查找。 現(xiàn)有技術(shù)提供的移動通信終端中的查詢方法為動態(tài)的正向的順序4企索,即 在用戶輸入關(guān)鍵字后,按照輸入順序?qū)﹃P(guān)鍵字逐個進行檢索并動態(tài)顯示查詢結(jié) 果,如輸入"蔡",實時查詢到包含"蔡"的所有記錄,再輸入"勝",最終
查詢到"蔡勝"、"蔡勝文"等聯(lián)系人信息。但對于(4)的輸入方式,用戶 僅記得聯(lián)系人的姓名大致的關(guān)鍵字,使用現(xiàn)有技術(shù)提供的查詢方法效果不理想, 輸入"蔡勝"不能查詢到"勝蔡"、"勝文蔡"這樣反向順序的信息,輸入"勝 蔡"則只能進行順序檢索,無法查詢到"蔡勝"、"蔡文勝"這樣順序的信息。
發(fā)明內(nèi)容
本發(fā)明實施例的目的在于提供一種數(shù)據(jù)庫搜索方法,旨在解決現(xiàn)有技術(shù)在 數(shù)據(jù)庫搜索時,由于只進行正向搜索,從而難以搜索到用戶需要的所有記錄的問題。
本發(fā)明實施例是這樣實現(xiàn)的, 一種數(shù)據(jù)庫搜索方法,包括步驟 接收用戶輸入的關(guān)鍵字,所述關(guān)鍵字由至少一個字符組成; 將用戶輸入的關(guān)4建字與所述總數(shù)據(jù)庫進行匹配,并將與所述關(guān)^t字匹配的
記錄保存為與所述關(guān)鍵字對應(yīng)的中間數(shù)據(jù)庫;
將用戶輸入的下一關(guān)鍵字分別與所述總數(shù)據(jù)庫以及保存的與上一關(guān)鍵字對
應(yīng)的所述中間數(shù)據(jù)庫進4亍正向和/或反向匹配,并將與所述關(guān)鍵字匹配的記錄保
存為與所述下一關(guān)鍵字對應(yīng)的中間數(shù)據(jù)庫,循環(huán)執(zhí)^f亍,直至所有關(guān)^t字匹配完畢。
本發(fā)明實施例的另一目的在于提供一種數(shù)據(jù)庫搜索系統(tǒng),包括 輸入模塊,用于接收用戶輸入的關(guān)鍵字,所述關(guān)鍵字由至少一個字符組成; 檢索模塊,用于將關(guān)鍵字與總數(shù)據(jù)庫或/和中間數(shù)據(jù)庫進行正向和/或反向 匹配,得到與關(guān)鍵字匹配的記錄;存儲模塊,用于存儲總數(shù)據(jù)庫或/和中間數(shù)據(jù)庫,其中中間數(shù)據(jù)庫保存的數(shù)
據(jù)為將用戶輸入的關(guān)鍵字與所述總數(shù)據(jù)庫進行匹配的數(shù)據(jù)記錄,或?qū)⒂脩糨斎?br>
的下一關(guān)鍵字分別與所述總數(shù)據(jù)庫以及保存的與上一關(guān)鍵字對應(yīng)的所述中間數(shù)
據(jù)庫進行正向和/或反向匹配的數(shù)據(jù)記錄。
本發(fā)明實施例的另一目的在于提供移動通信終端,該移動通信終端包括上 述數(shù)據(jù)庫搜索系統(tǒng)。
本發(fā)明實施例提供了一種多級、動態(tài)、模糊查詢方法和系統(tǒng),對用戶輸入 的數(shù)據(jù)進行正向、反向的才莫糊查詢,并在查詢過程中采用查詢多級數(shù)據(jù)庫的方 法,并動態(tài)實時顯示查詢結(jié)果,增加了查詢級數(shù),減少了漏查幾率,提高查詢 效率。
圖1是本發(fā)明實施例提供的一種動態(tài)查詢方法的實現(xiàn)流程圖2是本發(fā)明實施例提供的一種動態(tài)查詢系統(tǒng)的結(jié)構(gòu)圖3是本發(fā)明實施例提供的動態(tài)查詢聯(lián)系人姓名的實現(xiàn)流程圖。
具體實施例方式
為了使本發(fā)明的目的、^L術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實 施例,對本發(fā)明進行進一步詳細說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅 僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
本發(fā)明實施例對用戶輸入的數(shù)據(jù)進行正向、反向的才莫糊查詢,并在查詢過 程中采用查詢多級數(shù)據(jù)庫的方法,將查詢結(jié)果按照優(yōu)先級排列并動態(tài)實時顯示, 實現(xiàn)了多級、模糊動態(tài)查詢。
圖1示出了本發(fā)明實施例提供的一種動態(tài)查詢方法的實現(xiàn)流程,詳述如下
在步驟S101中,接收用戶輸入的關(guān)鍵字,所述關(guān)鍵字由至少一個字符組
成;在步驟S102中,將用戶輸入的關(guān)鍵字與所述總數(shù)據(jù)庫進行匹配,并將與 所述關(guān)鍵字匹配的記錄保存為與所述關(guān)鍵字對應(yīng)的中間數(shù)據(jù)庫;
在步驟S103中,將用戶輸入的下一關(guān)鍵字分別與所述總數(shù)據(jù)庫以及保存 的與上一關(guān)^:字對應(yīng)的所述中間數(shù)據(jù)庫進行正向和/或反向匹配,并將與所述關(guān) 鍵字匹配的記錄保存為與所述下一關(guān)鍵字對應(yīng)的中間數(shù)據(jù)庫,循環(huán)執(zhí)行,直至 所有關(guān)鍵字匹配完畢。
在本發(fā)明實施例中,與所述下一關(guān)鍵字對應(yīng)的中間數(shù)據(jù)庫中包括與總數(shù)據(jù) 庫進行匹配得到的數(shù)據(jù)和與保存的與上一關(guān)鍵字對應(yīng)的所述中間數(shù)據(jù)庫進行正 向和/或反向匹配得到的數(shù)據(jù)總和。
將用戶輸入的下一關(guān)鍵字分別與所述總數(shù)據(jù)庫以及保存的與上一關(guān)鍵字對 應(yīng)的所述中間數(shù)據(jù)庫進行正向和/或反向匹配的步驟中,匹配的具體方式有
對所述總數(shù)據(jù)庫和/或中間數(shù)據(jù)庫的每個數(shù)據(jù)記錄逐條查找與所述關(guān)鍵字 匹配的記錄,然后將符合匹配條件的記錄存儲為所述下一關(guān)鍵字對應(yīng)的中間數(shù) 據(jù)庫;或
對所述總數(shù)據(jù)庫和/或中間數(shù)據(jù)庫中所有數(shù)據(jù)記錄的第 一位置逐一與所述 關(guān)鍵字匹配,然后再對數(shù)據(jù)庫中所有數(shù)據(jù)記錄的第二位置逐一與所述關(guān)鍵字匹 配,將符合匹配條件的記錄存儲為所述下一關(guān)鍵字對應(yīng)的中間數(shù)據(jù)庫,直到數(shù) 據(jù)記錄的每個位置均匹配完畢。
將用戶輸入的下 一 關(guān)4建字與保存的與上一 關(guān)4建字對應(yīng)的所述中間數(shù)據(jù)庫進 行正向和/或反向匹配的步驟具體為
如果進行正向匹配,對所述下一關(guān)鍵字進行匹配時,若所述總數(shù)據(jù)庫和/ 或中間數(shù)據(jù)庫中的數(shù)據(jù)記錄包含所述上一關(guān)鍵字,則從所述總數(shù)據(jù)庫和/或中間 數(shù)據(jù)庫中每個數(shù)據(jù)記錄中所述上 一 關(guān)鍵字所在位置之后開始匹配;
如果進行反向匹配,對所述下一關(guān)鍵字進行匹配時,若所述總數(shù)據(jù)庫和/ 或中間數(shù)據(jù)庫中的數(shù)據(jù)記錄包備所述上一關(guān)鍵字,則從所述總數(shù)據(jù)庫和/或中間 數(shù)據(jù)庫中每個數(shù)據(jù)記錄中所述上一關(guān)鍵字所在位置之前開始匹配。在本發(fā)明實施例中,總數(shù)據(jù)庫可以為雜亂無章的數(shù)據(jù),不進行排序,也可 以是按照字母順序、筆畫順序、輸入的先后順序、使用頻率的高低順序、優(yōu)先 級高低順序等規(guī)律排序。 "
在本發(fā)明實施例中,關(guān)鍵字可以為一個詞組,例如歐陽、西門、令狐等。 在本發(fā)明實施例中,與總數(shù)據(jù)庫進行匹配,可以是正向或/和反向匹配。例
如關(guān)鍵字為"歐陽",在總數(shù)據(jù)庫中可以搜索到正向"歐陽"或/和反向"陽歐"。 作為本發(fā)明的 一個實施例,與上一關(guān)鍵字對應(yīng)的所述中間數(shù)據(jù)庫中的數(shù)據(jù)
可以不進行排序,也可以按照總數(shù)據(jù)庫匹配后得到的固有順序排序,也可以按
照某種規(guī)定的順序進行排序,例如按照字母順序、筆畫順序、輸入的先后順序、
使用頻率的高低順序、優(yōu)先級高低順序等規(guī)律排序。
在本發(fā)明實施例中,在將用戶輸入的下一關(guān)^:字分別與總數(shù)據(jù)庫以及保存 的與上一關(guān)44字對應(yīng)的中間凝:據(jù)庫進行正向和/或反向匹配,并將匹配結(jié)果保存 為與下一關(guān)鍵字對應(yīng)的中間數(shù)據(jù)庫的步驟之前和/或之后,方法還包括下述步 驟
顯示與關(guān)鍵字匹配的記錄。
在本發(fā)明實施例中,在顯示與關(guān)鍵字匹配的記錄的步驟中,顯示數(shù)據(jù)的排 列順序為
優(yōu)先排列在中間數(shù)據(jù)庫中搜索的結(jié)果,其后排列在總數(shù)據(jù)庫中搜索的結(jié)果。
在本發(fā)明實施例中,在顯示與關(guān)鍵字匹配的記錄的步驟中,按照以下至少 一種排序方法進行顯示
排序方法一,按照輸入關(guān)鍵字的先后排序,前面的關(guān)鍵字位于其后的關(guān)鍵 字之前,優(yōu)先排列;
排序方法二,按照關(guān)鍵字的所在位置排序,關(guān)鍵字的所在位置靠前的位于 所在位置靠后的之前,優(yōu)先排列;
排序方法三,按照各關(guān)鍵字的相對位置排序,關(guān)鍵字的相對位置近的位于 相對位置遠的之前,優(yōu)先排列,其中靠前的關(guān)鍵字之間相對位置近的優(yōu)先排列;以及
排序方法四,按照關(guān)鍵字的先后順序排序,關(guān)鍵字正向的位于反向的之前, 優(yōu)先排列。
以上排序方法可根據(jù)用戶的需要安排先后順序。例如先按照關(guān)鍵字或詞的 相對位置排序,然后再按照關(guān)鍵字或詞的所在位置排序,這樣的排序方法的優(yōu) 點是優(yōu)先顯示幾個關(guān)鍵字相對位置排列緊湊的數(shù)據(jù)。再例如先按照關(guān)鍵字或詞 的先后順序排序,再按照其他的排序方法排列,這樣的排序方法適用于用戶記 憶所有關(guān)鍵字但不明確關(guān)鍵字的先后順序的查詢請求。
圖2示出了本發(fā)明實施例提供的一種數(shù)據(jù)庫搜索系統(tǒng)的結(jié)構(gòu),為了方便說 明,僅示出了與本發(fā)明實施例相關(guān)的部分。
輸入模塊201接收用戶輸入的關(guān)鍵字,關(guān)鍵字由一個或一個以上字符組成, 然后檢索模塊202將關(guān)鍵字與總數(shù)據(jù)庫或/和中間數(shù)據(jù)庫進行正向和/或反向匹 配,得到與關(guān)鍵字匹配的記錄,最后顯示模塊203顯示與關(guān)鍵字匹配的記錄, 存儲模塊存儲總數(shù)據(jù)庫或/和中間數(shù)據(jù)庫,其中中間數(shù)據(jù)庫保存的數(shù)據(jù)為將用戶 輸入的關(guān)鍵字與總數(shù)據(jù)庫進行匹配的數(shù)據(jù)記錄,或?qū)⒂脩糨斎氲南乱魂P(guān)鍵字分 別與總數(shù)據(jù)庫以及保存的與上,一關(guān)鍵字對應(yīng)的中間數(shù)據(jù)庫進行正向和/或反向 匹配的數(shù)據(jù)記錄。
其中,檢索模塊202進一步包括
總數(shù)據(jù)庫檢索模塊2021將用戶輸入的關(guān)鍵字與所述總數(shù)據(jù)庫進行匹目己,并 將與所述關(guān)鍵字匹配的記錄保存為與所述關(guān)鍵字對應(yīng)的中間數(shù)據(jù)庫;以及
總數(shù)據(jù)庫和中間數(shù)據(jù)庫檢索模塊2022,將用戶輸入的下一關(guān)鍵字分別與所 述總數(shù)據(jù)庫以及保存的與上一關(guān)鍵字對應(yīng)的所述中間數(shù)據(jù)庫進行正向和/或反 向匹配,并將與所述關(guān)鍵字匹配的記錄保存為與所述下一關(guān)鍵字對應(yīng)的中間數(shù) 據(jù)庫,循環(huán)執(zhí)行,直至組成關(guān)鍵字的所有關(guān)鍵字匹配完畢。
在本發(fā)明實施例中,該數(shù)據(jù)庫搜索系統(tǒng)還包括存儲中間數(shù)據(jù)庫數(shù)據(jù)、總數(shù) 據(jù)庫數(shù)據(jù)、各關(guān)鍵字數(shù)據(jù)、以及查詢語句的存儲器204,該存儲器204與輸入模塊201、總數(shù)據(jù)庫檢索模塊2021、總數(shù)據(jù)庫和中間數(shù)據(jù)庫檢索模塊2022、顯 示模塊203分別連接。
以查找某個聯(lián)系人姓名為例,假如用戶只記得聯(lián)系人的姓名中包含"蔡,,、
"勝"兩個字,而不能確定是"蔡勝"、"勝蔡,,或者其他包含其中任意一個 字的姓名,本發(fā)明實施例可以查詢到包含"蔡"、"勝"兩個字的所有記錄, 不僅包括正向的"蔡勝,,、"蔡勝文,,、"文蔡勝"等,還包括反向的"勝蔡"、
"勝文蔡"、"文勝蔡,,、"勝蔡文"這樣的數(shù)據(jù)記錄,并將這些記錄按照優(yōu) 先順序排列后顯示查詢結(jié)果列表,用戶從查詢結(jié)果列表中可以很輕松的找到聯(lián) 系人的相關(guān)信息。
在本發(fā)明實施例中,上述數(shù)據(jù)庫搜索系統(tǒng)可應(yīng)用于移動通信終端。作為本 發(fā)明的一個實施例,上述數(shù)據(jù)庫搜索系統(tǒng)應(yīng)用于移動通信終端中對聯(lián)系人進行 搜索,使用戶在僅知道很少聯(lián)系人名字信息時,查找更方便。
圖3示出了本發(fā)明實施例提供的搜索聯(lián)系人姓名的實現(xiàn)流程,詳述如下 在步驟S301中,實時監(jiān)聽用戶的輸入,接收到用戶輸入的第一個關(guān)^T建字后 存儲到存儲器204中,例如輸入"蔡";
在步驟S302中,得到查詢關(guān)鍵字"蔡"后,生成查詢語句; 在步驟S303中,對總數(shù)據(jù)庫進行模糊查詢,將數(shù)據(jù)庫中的數(shù)據(jù)與"蔡"進 行匹配,優(yōu)先顯示第一個位置為"蔡"的數(shù)據(jù),之后顯示第二個位置為"蔡" 的數(shù)據(jù),依次類推,最終在總數(shù)據(jù)庫中查詢到所有包含"蔡"字的數(shù)據(jù),并按 優(yōu)先順序排列;
在本發(fā)明實施例中,由于之前沒有輸入關(guān)鍵字,本步驟僅就總數(shù)據(jù)庫檢索, 檢索的目的為濾除掉總數(shù)據(jù)庫中不包含"蔡"字的數(shù)據(jù)。
在步驟S304中,顯示查詢結(jié)果,并將結(jié)果保存為第一中間凝:據(jù)庫;
在步驟S305中,監(jiān)聽用戶的輸入,接收到用戶輸入的第二個關(guān)鍵字"勝" 后存儲到存儲器204中;
在步驟S306中,將當(dāng)前關(guān)鍵字"勝"以及之前接收到的關(guān)鍵字"蔡"按照檢索要求組合成關(guān)鍵詞后,生成查詢語句;
在步驟S307中,對第一中間數(shù)據(jù)庫進行模糊查詢,將第一中間數(shù)據(jù)庫中的 數(shù)據(jù)與"勝,,進行匹配,優(yōu)先顯示"蔡""勝"兩個數(shù)據(jù)正向順序相連的數(shù)據(jù), 之后顯示"蔡"和"勝"正向順序但不相連的數(shù)據(jù),之后顯示"蔡,,和"勝"反 向排列的數(shù)據(jù),優(yōu)先顯示第一位置為"蔡"第二個位置為"勝,,的數(shù)據(jù),之后 顯示"蔡"和"勝"正向順序且距離最近的數(shù)據(jù),依次類推,最終在第一中間數(shù) 據(jù)庫中查詢到所有包含"蔡""勝"字的數(shù)據(jù),并按優(yōu)先順序排列;
在本發(fā)明實施例中,本次查詢?yōu)V除了第一中間數(shù)據(jù)庫中不包含"勝"字的 數(shù)據(jù)。
在步驟S308中,對總數(shù)據(jù)庫進行模糊查詢,將總數(shù)據(jù)庫中的數(shù)據(jù)與"勝" 進行匹配,優(yōu)先顯示第一個位置為"勝"的數(shù)據(jù),之后顯示第二個位置為"勝" 的數(shù)據(jù),依次類推,最終在總數(shù)據(jù)庫中查詢到所有包含"勝"字的數(shù)據(jù),并按 優(yōu)先順序排列;
在本發(fā)明實施例中,本次查詢找到總數(shù)據(jù)庫中包含"蔡"和"勝"兩個數(shù) 據(jù)的數(shù)據(jù)時,由于與中間數(shù)據(jù)庫中查詢到的重復(fù),因此不再重復(fù)顯示,濾掉即 可。于是,最終從總數(shù)據(jù)庫中找到了包含"勝"字,但不包含"蔡,,的數(shù)據(jù)。
在步驟S309中,將查詢結(jié)果順序排列并顯示,將結(jié)果保存為第二中間數(shù)據(jù) 庫,此時用戶輸入完畢,則第二中間數(shù)據(jù)庫的數(shù)據(jù)列表即為最終查詢結(jié)果。
另外,若用戶在輸入兩個關(guān)鍵字"蔡"和"勝"后,繼續(xù)輸入三個關(guān)鍵字, 例如"宇"。那么對第二中間數(shù)據(jù)庫進行模糊查詢,將第二中間數(shù)據(jù)庫中的數(shù) 據(jù)與"蔡"、"勝,,、"宇"進行匹配,優(yōu)先顯示"蔡,,、"勝"、"宇"三 個關(guān)鍵字正向順序相連的數(shù)據(jù),之后顯示"蔡"、"勝"和"宇"正向順序但不 相連的數(shù)據(jù),之后顯示"蔡,,、"勝"和"宇"反向排列的數(shù)據(jù),優(yōu)先顯示"蔡 勝宇"的數(shù)據(jù),之后顯示"蔡"、"勝,,和"宇"正向順序且距離最近的數(shù)據(jù), 之后顯示"蔡"、"勝"和"宇"反向排列且距離最近的數(shù)據(jù),依次類推,最 終在第二中間數(shù)據(jù)庫中查詢到所有包含"蔡""勝"和"宇"字的數(shù)據(jù),并按優(yōu)先順序排列,濾除第二中間數(shù)據(jù)庫中不包含"宇"字的數(shù)據(jù);之后對總數(shù)據(jù) 庫分別進行模糊查詢,將數(shù)據(jù)庫中的數(shù)據(jù)與"宇,,進行匹配,優(yōu)先顯示第一個 位置為"宇"的數(shù)據(jù),之后顯示第二個位置為"宇"的數(shù)據(jù),依次類推,最終 在總數(shù)據(jù)庫中查詢到所有包含"宇"字的數(shù)據(jù),并按優(yōu)先順序排列,找到總數(shù) 據(jù)庫中不包含"蔡"、"勝"但包含"宇"字的數(shù)據(jù),將檢索到的同時包含"蔡"、 "勝"和"宇"三個關(guān)鍵字的數(shù)據(jù)濾掉,防止重復(fù)。最后將查詢結(jié)果順序排列 并顯示,將結(jié)果保存為第三數(shù)據(jù)庫,此時若用戶輸入完畢,則第三數(shù)據(jù)庫的數(shù) 據(jù)列表即為最終查詢結(jié)果,反向的"勝蔡"、"勝文蔡"、"文勝蔡"、"勝 蔡文"均被查詢出來。 —
在本發(fā)明實施例中,由于第二中間數(shù)據(jù)庫已為按一定順序排列的數(shù)據(jù)庫, 且數(shù)據(jù)庫較總數(shù)據(jù)庫和第一中間數(shù)據(jù)庫的數(shù)據(jù)量小,查詢工作效率不會因為查
詢語句的增加而減j氐。
同理輸入第四個、第五個關(guān)鍵字的查詢與上述步驟相同。 本發(fā)明實施例接收用戶輸入的關(guān)鍵字,采用查詢多級數(shù)據(jù)庫的方法,實時 在中間數(shù)據(jù)庫和總數(shù)據(jù)庫中對用戶輸入的數(shù)據(jù)進行正向、反向的模糊查詢,并 動態(tài)實時顯示查詢結(jié)果,檢索到的數(shù)據(jù)記錄順序按優(yōu)先級別顯示。本發(fā)明實施 例的查詢功能強大,減少了漏查幾率,提高查詢效率,用戶從查詢結(jié)果列表中 可以輕松的找到聯(lián)系人的相關(guān)信息,雖然增加了查詢級數(shù),但中間數(shù)據(jù)庫已按 一定順序排列,且中間數(shù)據(jù)庫較前一中間數(shù)據(jù)庫的數(shù)據(jù)量小,查詢工作效率不 會因為查詢語句的增加而減低。
以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā) 明的精神和原則之內(nèi)所作的任何修改、等同替換和改進等,均應(yīng)包含在本發(fā)明 的保護范圍之內(nèi)。
1權(quán)利要求
1、一種數(shù)據(jù)庫搜索方法,其特征在于,所述方法包括下述步驟接收用戶輸入的關(guān)鍵字,所述關(guān)鍵字由至少一個字符組成;將用戶輸入的關(guān)鍵字與所述總數(shù)據(jù)庫進行匹配,并將與所述關(guān)鍵字匹配的記錄保存為與所述關(guān)鍵字對應(yīng)的中間數(shù)據(jù)庫;將用戶輸入的下一關(guān)鍵字分別與所述總數(shù)據(jù)庫以及保存的與上一關(guān)鍵字對應(yīng)的所述中間數(shù)據(jù)庫進行正向和/或反向匹配,并將與所述關(guān)鍵字匹配的記錄保存為與所述下一關(guān)鍵字對應(yīng)的中間數(shù)據(jù)庫,循環(huán)執(zhí)行,直至所有關(guān)鍵字匹配完畢。
2、 如權(quán)利要求l所述的方法,其特征在于,所述將用戶輸入的下一關(guān)鍵字 分別與所述總數(shù)據(jù)庫以及保存的與上一關(guān)鍵字對應(yīng)的所述中間數(shù)據(jù)庫進行正向 和/或反向匹配的步驟中,匹配的具體方式有對所述總數(shù)據(jù)庫和/或中間數(shù)據(jù)庫的每個數(shù)據(jù)記錄逐條查找與所述關(guān)鍵字 匹配的記錄,然后將符合匹配條件的記錄存儲為所述下一關(guān)鍵字對應(yīng)的中間數(shù) 據(jù)庫;或?qū)λ隹倲?shù)據(jù)庫和/或中間數(shù)據(jù)庫中所有數(shù)據(jù)記錄的第一位置逐一與所述 關(guān)鍵字匹配,然后再對數(shù)據(jù)庫中所有數(shù)據(jù)記錄的第二位置逐一與所述關(guān)鍵字匹 配,將符合匹配條件的記錄存儲為所述下一關(guān)鍵字對應(yīng)的中間數(shù)據(jù)庫,直到數(shù) 據(jù)記錄的每個位置均匹配完畢。
3、 如權(quán)利要求l所述的方法,其特征在于,所述將用戶輸入的下一關(guān)鍵字 與保存的與上一關(guān)鍵字對應(yīng)的所述中間數(shù)據(jù)庫進行正向和/或反向匹配的步驟 具體為如果進行正向匹配,對所述下一關(guān)鍵字進行匹配時,若所述總數(shù)據(jù)庫和/ 或中間數(shù)據(jù)庫中的數(shù)據(jù)記錄包含所述上一關(guān)鍵字,則從所述總數(shù)據(jù)庫和/或中間 數(shù)據(jù)庫中每個數(shù)據(jù)記錄中所述上一關(guān)鍵字所在位置之后開始匹配;如果進行反向匹配,對所述下一關(guān)鍵字進行匹配時,若所述總數(shù)據(jù)庫和/或中間數(shù)據(jù)庫中的數(shù)據(jù)記錄包含所述上一關(guān)鍵字,則從所述總數(shù)據(jù)庫和/或中間 數(shù)據(jù)庫中每個數(shù)據(jù)記錄中所述上一關(guān)鍵字所在位置之前開始匹配。
4、 如權(quán)利要求l所述的方法,其特征在于,在所述將用戶輸入的下一關(guān)鍵 字分別與所述總數(shù)據(jù)庫以及保存的與上一關(guān)鍵字對應(yīng)的所述中間數(shù)據(jù)庫進行正 向和/或反向匹配,并將匹配結(jié)果保存為與所述下一關(guān)鍵字對應(yīng)的中間數(shù)據(jù)庫的 步驟之前和/或之后,所述方法還包括下述步驟顯示與所述關(guān)鍵字匹配的記錄。
5、 如權(quán)利要求4所述的方法,其特征在于,在顯示所述與所述關(guān)鍵字匹配 的記錄的步驟中,顯示凄t據(jù)的排列順序為優(yōu)先排列在所述中間數(shù)據(jù)庫中搜索的結(jié)果,其后排列在所述總數(shù)據(jù)庫中搜 索的結(jié)果。 '
6、 如權(quán)利要求4所述的方法,其特征在于,在所述顯示所述與所述關(guān)鍵字 匹配的記錄的步驟中,按照以下至少一種排序方法進行顯示按照輸入關(guān)鍵字的先后排序,前面的關(guān)鍵字位于其后的關(guān)鍵字之前,優(yōu)先 排列;按照關(guān)鍵字的所在位置排序,關(guān)鍵字的所在位置靠前的位于所在位置靠后 的之前,優(yōu)先排列;按照各關(guān)鍵字的相對位置排序,關(guān)鍵字的相對位置近的位于相對位置遠的 之前,優(yōu)先排列,其中靠前的關(guān)鍵字之間相對位置近的優(yōu)先排列;以及按照關(guān)鍵字的先后順序排序,關(guān)鍵字正向的位于反向的之前,優(yōu)先排列。
7、 一種數(shù)據(jù)庫搜索系統(tǒng),其特征在于,包括輸入模塊,用于接收用戶輸入的關(guān)鍵字,所述關(guān)4建字由至少一個字符組成; 檢索模塊,用于將關(guān)鍵字與總數(shù)據(jù)庫或/和中間數(shù)據(jù)庫進行正向和/或反向匹配,得到與關(guān)鍵字匹配的記錄;存儲模塊,用于存儲總數(shù)據(jù)庫或/和中間數(shù)據(jù)庫,其中中間數(shù)據(jù)庫保存的數(shù)據(jù)為將用戶輸入的關(guān)鍵字與所述總數(shù)據(jù)庫進行匹配的數(shù)據(jù)記錄,或?qū)⒂脩糨斎氲南乱魂P(guān)鍵字分別與所述總數(shù)據(jù)庫以及保存的與上一關(guān)鍵字對應(yīng)的所述中間數(shù) 據(jù)庫進行正向和/或反向匹配的數(shù)據(jù)記錄。
8、 如權(quán)利要求7所述的系統(tǒng),其特征在于,所述檢索模塊進一步包括 總數(shù)據(jù)庫檢索模塊,用于將用戶輸入的關(guān)鍵字與所述總數(shù)據(jù)庫進行匹配,并將與所述關(guān)鍵字匹配的記錄保存為與所述關(guān)鍵字對應(yīng)的中間數(shù)據(jù)庫存儲于存儲模塊中;總數(shù)據(jù)庫和中間數(shù)據(jù)庫檢余模塊,用于將用戶輸入的下一關(guān)鍵字分別與所 述總數(shù)據(jù)庫以及保存的與上一關(guān)鍵字對應(yīng)的所述中間數(shù)據(jù)庫進行正向和/或反 向匹配,并將與所述關(guān)鍵字匹配的記錄保存為與所述下一關(guān)鍵字對應(yīng)的中間數(shù) 據(jù)庫存儲于存儲模塊中,循環(huán)執(zhí)行,直至組成關(guān)鍵字的所有關(guān)鍵字匹配完畢。
9、 如權(quán)利要求7所述的系統(tǒng),其特征在于,所述檢索模塊之后,進一步包括顯示模塊,用于顯示與所述關(guān)鍵字匹配的記錄,其中優(yōu)先顯示在所述中間 數(shù)據(jù)庫中搜索的結(jié)果,其后顯示在所述總數(shù)據(jù)庫中搜索的結(jié)果。
10、 一種包括如權(quán)利要求7至9任一所述的數(shù)據(jù)庫搜索系統(tǒng)的移動通信終端。
全文摘要
本發(fā)明適用于信息檢索領(lǐng)域,提供了一種數(shù)據(jù)庫搜索方法、系統(tǒng)以及移動通信終端,所述方法包括步驟接收用戶輸入的關(guān)鍵字,所述關(guān)鍵字由至少一個字符組成;將用戶輸入的關(guān)鍵字與所述總數(shù)據(jù)庫進行匹配,并將與所述關(guān)鍵字匹配的記錄保存為與所述關(guān)鍵字對應(yīng)的中間數(shù)據(jù)庫;將用戶輸入的下一關(guān)鍵字分別與所述總數(shù)據(jù)庫以及保存的與上一關(guān)鍵字對應(yīng)的所述中間數(shù)據(jù)庫進行正向和/或反向匹配,并將與所述關(guān)鍵字匹配的記錄保存為與所述下一關(guān)鍵字對應(yīng)的中間數(shù)據(jù)庫,循環(huán)執(zhí)行,直至組成關(guān)鍵字的所有關(guān)鍵字匹配完畢。本發(fā)明對數(shù)據(jù)進行正向、反向的模糊查詢,采用查詢多級數(shù)據(jù)庫,增加了查詢級數(shù),減少了漏查幾率,提高查詢效率。
文檔編號G06F17/30GK101320376SQ200810068418
公開日2008年12月10日 申請日期2008年7月3日 優(yōu)先權(quán)日2008年7月3日
發(fā)明者張富斌, 勝 蔡, 魏任彬 申請人:宇龍計算機通信科技(深圳)有限公司