一、Everything實作快速搜尋的原理:
Everything並不掃描整個磁盤,只是讀取磁盤上的USN日誌,並建立索引,提前儲存到數據庫,尋找時在數據庫進行搜尋,所以速度飛快。
Everything能快速獲取所有硬碟上的檔列表,主要得益於Windows對NTFS的支持。NTFS的檔案系統上存在一個數據表(Master File Table(MFT)),它記錄了磁盤上所有檔的檔資訊(USN Journal),當有檔進行增刪改查時都會同步去更新這個資訊。
Windows提供各種API給開發者去呼叫存取這些數據。Everything也是基於這些API來獲取所有檔列表,這比遍歷所有檔目錄要快很多。但Everything開發技術本身也挺厲害,它可以在毫秒的級別內透過它自己維護的索引,快速搜尋出上萬的匹配結果,並且還支持通配符、正規表式,而且可以瞬時顯示在表單上,讓你感覺幾乎是秒搜。所以比Windows內建的搜尋爽很多。
Everything在第一次開啟使用時會掃描整個硬碟,然後建立一個索引數據庫,體積並不大,和電腦檔的數量有一定關系,但相對於AnyText(搜尋檔內容的工具)已經小很多。如果你新增修改刪除檔,Everything會即時去自動更新這個索引數據庫,索引數據庫建立之後,以後每次搜尋檔,Everything就在它建立的這個Everything.db這個數據庫裏搜尋,而不需要掃描整個硬碟上的檔,所以速度會快到離譜,這是Everything和Windows系統內建搜尋的本質區別。
二、Everything主要優點:
根據Everything的官網所說,它1分鐘可以索引100萬個檔。48萬多個檔,建立索引需要的時間也只有幾秒,索引無需逐一掃描硬碟檔,而是直接讀取NTFS檔案系統的USN日誌,Everything由於核心原理建立在NTFS的底層機制上,NTFS檔案系統中的 USN 日誌記錄了系統對NTFS分區中的檔所做的所有更改。對於每一卷,NTFS 都使用 USN 日誌來跟蹤有關添加、刪除和修改的檔的資訊。直接讀取NTFS檔案系統的USN日誌, 所以速度很快
三、Everything的不足及缺點
缺點也明顯:
(1) 只支持NTFS格式的分區,因為USN日誌是NTFS專有的。在FAT、FAT32格式分區上無法使用 Everything。
(2) 預設只索引檔名稱、日期和大小,不索引檔內容和附加內容 。
(Everything可使用content來搜尋檔內容,但未索引內容時搜尋文本內容是比較慢的)
Everything的數據是存放在Everything.db 數據庫中。隨著檔越多,索引越大,這個數據庫也就越大。也可刪除它重建索引。
四、Everything的下載 、詳細介紹及最全的保姆級幫助教程
可看這裏
五、Everything SDK進行二次開發
可看這裏
六、其它相關高效工具
AnyText: 搜尋文本內容
listary : 後面找時間再介紹
wox / Power Toys 等
更多高效辦公工具集錦:
七、為什麽使用Everything
1、綠色軟件,無須安裝,下載即用
2、老牌軟件,一直有更新。
3、高效快捷,搜尋速度特別快
4、免費,不收費,良心軟件
5、 不光免費,還完全沒有廣告,而且堅持了這麽多年 ,一個軟件的開發需要付出巨大的努力還有時間和精力,能夠堅持這麽久,我自己也寫些小工具,但感覺也無法堅持這麽多年,所以的確是很值得推薦的!
希望能幫到您。也可點個贊及關註我們 @小辣椒高效Office
另投擲一個問題:不知有否大神 知道EveryThing.db 這個數據庫 是什麽數據庫?試過sqlite打不開,是esdb? 還是什麽數據庫?有加密嗎?應該如何開啟?