桌面環境與桌面搜索Desktop Search tools

最近一段時間工做重心都將放在Linux下Desktop search(桌面搜索)框架的研發上。所以對desktop search進行了初步的調研。本文將從下面三個方面展開:
html

  1. Linux桌面環境(Desktop Environment on Linux)
  2. 現有的桌面搜索工具(Desktop Search tools)
  3. 學術界對Desktop search的研究狀況

Linux桌面環境(Desktop Environment on Linux)

首先來講說桌面環境。所謂桌面環境,就是在原來命令行時代的OS外層追加了一層可視化的窗口管理程序,將以前只能使用命令方式進行的文件管理,進程管理,軟件管理,硬件管理,計算機配置管理等等工做都轉變爲界面更加友好的可視化工做方式。桌面環境概念實際上是隨着桌面操做系統的誕生而產生的。在桌面OS出現之前最有名的OS是MS的DOS。隨着蘋果發佈Macintosh,帶有下拉式菜單、桌面圖標、可以進行拖曳式操做與雙點擊的Mac OS進入世人的視野,這是圖形化桌面操做系統的首次亮相。緊隨其後,MS發佈了Windows 1.0,桌面操做系統開始風靡世界。咱們將Windows和Mac OS歸爲一類,他倆做爲主流的商業桌面操做系統,幾乎壟斷了桌面操做系統市場。另外一類是Linux桌面操做系統。Linux的發行版本是愈來愈多,安裝在這些發行版本上桌面環境繼承了自由軟件的靈魂,可謂百花齊放,百家爭鳴。報的上名號的有GNOME、KDE、Unity、Xfce、MATE、LXDE、Cinnamon、ROX、Enlightenment等等。其中GNOME,KDE穩坐頭兩把交椅。數據庫


GNOME做爲最流行的Desk Environment,其2.X系列一直是大多數Linux發行版的默認桌面環境,可是進入3.0時代後,GNOME彷佛有些走下坡,一些發行版開始從GNOME抽身,有說法說3.0改的簡潔的有點過度,默認連個任務欄也沒有。在Ubuntu10.10以前GNOME一直是默認的桌面環境,但以後開始改用自家開發的Unity,也就有了咱們如今看到的Ubuntu。若是稍加了解,就會發現其實Unity是基於GNOME開發的。GNOME除了提供功能強大桌面環境之外,還爲開發者準備了一個有強大支持的開發平臺,幫助開發整合於用戶桌面的開發程序。
api

KDE也是功能很是強大桌面環境,神似Windows,其包含了大量的應用程序,極大的提高了自身的可用性和競爭力。Fedora默認支持GNOME和KDE,Fedora18開始加入了對MATE(GNOME2的一個分支)的支持。GNOME和KDE這兩個傢伙個頭大,能耐也大,要什麼功能有什麼功能,可是這要形成他倆須要消耗大量的資源。瀏覽器


Xfce, LXDE以及搭載在8.12發佈的Elementary OS Luna上的Pantheon(這款UI作的挺帥的,能夠關注下)等都是輕量級的桌面環境,它們一般都是爲低能耗的機器設計,好比移動設備之類的,它們佔用的資源也要少不少。 框架

現有的桌面搜索工具(Desktop Search tools)

說完Desktop environment,咱們進入正題。那麼爲何出現桌面搜索這麼一種需求呢。咱們知道搜索概念的出現是由於數據的膨脹,人爲檢索難度增大。研發一種自動化檢索機制是人心所向、衆望所歸。對於Web搜索來講,數據指的是整個互聯網上的海量網頁;對於桌面搜索來講,數據指的文件系統中的全部文件。隨着硬盤存儲容量的提高,單機上存儲的數據愈來愈多,找文件的難度顯然愈來愈大,這就是桌面搜索出現的動機。工具


當前Window自帶有文件搜索功能,可是其功能只能完成文件名的檢索,不能對文件內容進行深刻的挖掘,此外它默認狀況下是直接掃描磁盤,沒有創建文件索引,文件的搜索效率很低。學習


咱們理想中的桌面搜索應該具備以下功能:
優化

  1. 可以快速有效的創建索引,索引結構要可以充分壓縮索引,減小索引的空間佔用,同時又須要儘可能不影響檢索效率
  2. 除了索引文件名,還要可以索引文件內容,特別是包含文本的文件,要實現這一點就要求必須知足3
  3. 必須支持現有的絕大部分(最好是所有)的文件類型,也就是要可以讀取這些文件的內容
  4. 搜索框架要具備很好的可拓展性,當出現一個新的或暫不支持的文件類型,能夠經過開發和添加插件的方式實現對該文件類型的支持。
  5. 搜索框架要具備學習和預測用戶使用習慣的能力,可以不斷的優化查詢策略來符合特定用戶的查詢習慣。
  6. ……待補充



咱們先來看看當前有哪些流行的Desktop search東東。首先咱們挖一下在Windows下的寶貝。這裏咱們介紹4款,分別是:
搜索引擎

Copernic Desktop Search

它是由老牌的集成搜索公司Copernic開發的桌面搜索工具。Copernic Desktop Search是最先的桌面搜索工具之一,也是Windows平臺上評價最高的桌面搜索產品。它在安裝後自動爲全盤創建索引,而且實時監控文件系統的變動來更新索引;它可以檢索文件、文件夾以及文件內容;它支持Word, Excel, PowerPoint, PDF, HTML, Word Perfect, text, ZIP文件, Outlook、Outlook Express、Eudora Mozilla Thunderbird這三種郵件客戶端中的郵件和附件 以及超過150種其餘文件格式,如MP3, JPG, WAV, MPEG。 google

 

Locate32

這款不是頗有名。它跟其餘desktop search有一個本質的不一樣:它的索引是存放在數據庫中。它使用數據庫來存儲目錄結構信息,而後用於查詢。

 

 

Google Desktop Search

大名鼎鼎的Google Desktop Search是以側邊欄/小工具的形式呈現的,最新版的Google Desktop Search只要按兩下Ctrl鍵就會彈極爲簡潔的搜索框。它不只可以檢索硬盤上的文件,還能搜索你的瀏覽器歷史、GMAIL帳戶、Outloolk等等功能很是強大。它的全部配置、搜索結果都是以網頁的形式呈現,必須經過瀏覽器來查看和設置。除了Windows版,它還支持MAC和Linux。下文也會提到。遺憾的是,google在2011年進行業務調整,停掉了Google Desktop Search項目。

 

Everything

Everything是一款很是輕量的軟件,他很是的小巧且提供綠色版下載。它可以快速的索引整個硬盤並提供可靠的文件檢索。它只能支持NFS文件系統,只能檢索文件名和目錄名,不能檢索文件內容。

 




在Linux下,咱們挑選了4款最流行的工具:分別是BeagleGoogle Desktop SearchTrackerRecoll

Beagle

特色:

  1. 默認索引home目錄,可手動修改索引範圍
  2. 提供命令行模式
  3. 除了瀏覽器的歷史記錄和書籤,還能索引emails, IM, RSS readers, address book等等
  4. 內置文件系統監控模塊,實時更新索引
  5. 能從如下類型文件中抽取text和meta 
    • Office docs, plain text, HTML, DocBook, image and audio formats…
  6. 能搜索文件內的terms, 不支持PDF
  7. 支持14中搜索主題,以改進搜索質量
    • Pictures, Media, Files, Archives, Mails …
  8. 支持豐富的查詢表達式
    • 關鍵詞前加-號,即結果中不出現與該關鍵字相關的記錄
    • 使用OR定義查詢
    • 限定搜索結果的時間

缺點:

消耗大量內存

 

2011年開始中止維護,最終版本3.3.2

 


Google Desktop Search

前文已經介紹過了Windows版本Google Desktop Search, 此處再對它的特色進行一個總結。

特色

  1. 安裝後自動開始建索引,不消耗系統資源
  2. 默認支持17種文件類型,其餘文件類型需安裝插件
  3. 能夠檢索瀏覽器歷史和email帳戶
  4. 按兩次Ctrl彈出快捷搜索框,實時顯示部分搜索結果
  5. 參數的設置以及搜索結果的顯示都在瀏覽器上完成
  6. 對於text和PDF文件,在搜索結果下會給出內容摘錄

2011年9月,google業務調整,中止對其支持

 


 

Tracker

特色

  1. 不自動索引,不主動監控文件系統變動
  2. 可以配置想要忽略的文件路徑或文件名模式
  3. 可以索引emails, 瀏覽器書籤,歷史,notes,tasks
  4. 搜索結果會被劃分到不一樣的類別,能夠查看指定類別的結果
  5. 單擊搜索結果能夠查看文件信息
  6. 支持給索引的文件添加標籤,便於文件的訪問
    • 這一功能很是不可靠,既是它的亮點,也是它最大的敗筆,打相同標籤的文件常常顯示不全。
 

 

Recoll

特色:

  1. 基於Xapian搜索引擎,須要xapian-core, Qmake和Qt庫支持
  2. 不自動索引,點擊File>update啓動索引
  3. 支持Cron表達式,設置自動索引時間,安排索引計劃。
  4. 默認索引home目錄
  5. 可設置關鍵字過濾規則,規則有:
    • All of These, None of These, Any of These…(意思就是說,要檢索時要考慮「全部的」、「這幾個以外的」、「任意幾個」關鍵字)
  6. 可指定搜索的文件類型
  7. 不主動監控文件系統變動,可在編譯時recoll,添加監視模塊
  8. 不支持全部文件類型,索引PDF,MP3,RTF, OFFICE.等文件須要安裝額外的支持插件。

相關文章
相關標籤/搜索