概述
现在主流的全文搜索工具不少,大多数都是预先把文件内容读取保存在本地数据库并建立词库索引,在搜索时从词库索引查找匹配的词,这种方案优点是查找速度排常快,但是这种方案也有下列的缺点:
- 预先读取所有文件内容保存到磁盘,会占用磁盘空间。
- 如果实时更新数据库,会造成频繁的写磁盘,而固态硬盘的寿命跟写次数相关,频繁写入会影响固态硬盘寿命。
- 如果非实时更新数据库,数据会过期,搜索结果不能正确反馈数据结果。
myso全文搜索
因为基于文件内容的全局搜索不是频繁功能,大多数人只是偶尔用一下,myso认为合理的方案是不用预先读取所有文件内容保存到本地,避免实时更新数据库而造成频繁写磁盘和占用磁盘空间。使用的时候再遍历磁盘实时读取文件内容来搜索,这样能保证搜索的数据是最新的,当然这种方案缺点时搜索速度会慢点,但因为功能不是频繁使用和现在的固态硬盘读速度非常快,因此速度也是在可接受范围。
myso全文搜索是myso(官网:https://www.myso123.com/)的一个子功能,启动的方法是:主窗口的搜索结果中鼠标右键菜单 >> “搜索文件内容”,如下图所示。
会启动新窗口,如下图所示。
增加搜索文件类型
如下图所示是当前支持的可搜索的文件类型,选择“查找”文件将会被搜索;选择“排除”文件将不会搜索,如下图所示, pdf文件将不会被搜索。
如果您的文件类型不在搜索列表中,那么不会读取和搜索,需要您手动添加文件类型用于搜索。本次以增加java文件类型用于搜索例,点击“增加文件类型”,弹出窗口如下所示。
增加的后的文件类型列表如下图所示。这里有个小bug,增加后不会立即在列表中展示出来,需要改变窗口大小才显示出来。
全文搜索
填入查找目标和查找目录,如下图所示,在D盘中查找文件类型列表支持的文件中包含“用户”的所有文件,点击“查找”按钮,开始搜索。
搜索结果如下图所示,红色背景的是读取失败的文件。