在計算機技術以及網絡技術特別是移動通信技術不斷發展的背景下給智能手機帶來了極大的發展空間。目前性能過剩已經成為了當前智能手機的普遍問題之一,硬件功能過于強大的背后反而是軟件不能跟上步伐,這也就導致了用戶的體驗性出現了一定程度的下降。在人機交互過程中 UI 承載了重要的作用,其中桌面搜索引擎則是 UI 當中重要的構成部分,但是從當前現狀來看桌面搜索引擎還處于發展期,而從商業潛在價值上來看手機桌面搜索引擎無疑有著巨大的商機,這也使其受到了越來越廣泛的關注。
1、 桌面搜索引引擎概述
用戶在使用桌面搜索引擎的過程中可以直接找到本地磁盤上的相關資料,整個過程快捷、迅速,這也使得桌面搜索引擎受到了用戶的青睞。盡管手機端的搜索軟件與 PC 端的搜索軟件在功能上存在著很大的共性,但是本質上還是存在很大的區別,特別是對于安卓手機而言,其底層是基于 Linux,這與 PC 端的Windows 平臺有著必然差異性。目前在安卓當中的搜索軟件主要分為兩類即系統自帶搜索工具以及第三方開發軟件。以安卓的快速搜索框為例,它可為用戶提供一個單獨的搜索框,用戶經過搜索框可以查詢系統內部文件如通訊錄、應用程序等;而第三方搜索軟件的功能較安卓自帶的搜索框則更為全面,以 RE 管理器來看,它的搜索功能以及交互界面則更為人性化,特別是在 root 條件下可以直接對系統內部文件進行操作,這也是安卓搜索框不具備的。
2、 基于安卓系統的桌面搜索引擎的設計
2.1 Lucene搜索引擎框架
對于安卓系統的桌面搜索引擎而言Lucene 搜索引擎框架是實現搜索功能的重要部分,它具備了強大的全文搜索功能,其系統結構與源碼組織具體如圖 1 所示:
從圖 1 中可以清晰看出 Lucene 系統框架主要是由三部分組成即為結構封裝、索引核心一級對外接口,在整個框架當中又以索引核心最為重要。在進行設計過程中需要將外部抽象層置于框架當中以此來控制耦合性。而在局部細節設計過程中都需要遵循上述原則讓框架的擴展性得到保證且易于理解。從查詢方面來看Lucene 的功能較為全面,主要體現為以下方面:
(1)布爾查詢。在查詢過程中可將分類復雜查詢轉變為布爾查詢并構成一個子句的集合。
(2)通配符查詢??稍谠~條中應用多個通配符以及單個通配符來進行查詢。
(3)項查詢。項查詢可將多個簡單的單元素詞進行整合從而串聯為復雜查詢。另外Lucene 還支持范圍查詢、權重查詢以及模糊查詢。
2.2 桌面搜索引技術分析
除了基本的框架外還需要相關技術才能夠實現讓搜索引擎的功能充分發揮效用,其中分詞技術便具有關鍵性作用。對于漢字信息而言分詞就是從字、詞、句方面對漢字信息進行相關處理從而更為合理地對相關信息進行處理。在中文分詞過程中又涉及到了以下方法:
(1)詞典分詞方法。將漢字串與詞典中的詞條進行一一對應的適配,若適配成功即成功識別一個詞匯。
(2)理解分詞方法。較機械式的詞典分詞方法顯然理解分詞方法更為智能,利用計算機模擬功能來對相關語句進行“理解”從而達到“識別”目的。當然其中還涉及到了一系列的句法、語法判斷,經過綜合性分析最終才能完成分詞。由于中文結構、語法較為復雜就給理解分詞方法的具體實施帶來了一定的阻礙,為了讓其能夠良好實施還需要進一步完善。
(3)統計分詞方法。統計分詞方法的實施實質上是基于以下公式:F\\(A:B\\)=P\\(A,B\\)/[P\\(A\\)P\\(B\\)]。其中 P\\(A,B\\) 是 AB 出現概率,而P\\(A\\)、P\\(B\\) 則表示 A、B 單獨出現的概率,通過上述處理即可以從某個方面來判斷 A、B 之間的關聯程度,其中可設定一個區間,當函數落于該區間內時即判斷A、B構成了一個詞匯。
為了讓該方法得到進一步完善可將 N 元文法模型置于其中來避免詞匯歧義。
3、 結語
上文對以 Lucene 搜索引擎框架并結合分詞技術對基于安卓系統的桌面搜索引擎的設計進行了闡述,當然在實際設計過程中還需要對分詞方法以及框架引擎進一步完善從而讓搜索引擎的功能更為全面,讓用戶得到更好地體驗。
參考文獻:
[1] 孫友倉 . 一種基于 Web Service 的信息搜索引擎機制 [J]. 山西大學學報 \\( 自然科學版 \\),2010\\(02\\).
[2] 黃軼文 . 搜索引擎原理與快速開發應用[J]. 科技信息 ,2010\\(36\\).
[3] 張淳晟 , 鄭麗英 . 基于 XML 的搜索引擎倒排索引研究 [J]. 太原科技 ,2009\\(01\\).