OpenSearcher 是一款开源的全文搜索工具,支持常见 Office 文档、PDF、.TXT,以及 ePub 和 Mobi 电子书。@Appinn
在昨天推荐的同类 #全文搜索 工具《TextLocator – 卖萌的小老头:低 CPU 占用的本地文档全文搜索工具[Win]》时,提到了这个工具,今天就来介绍一下。
来自发现频道,开发者 @Gaoyongxian666 自荐:https://meta.appinn.net/t/topic/38343/
OpenSearcher
一个基于 PyQt5 本地的、安全的、开源的、支持全文检索的搜索器。本项目使用纯 Python 编写,所使用的第三方包都为开源库。
支持的文件类型:
doc
Via antiword 3xls
Via xlrddocx
Via docx2txtxlsx
Via xlsx2csvpptx
Via python-pptxmobi
Via mobi 1epub
Via ebooklibpdf
Via pdfminer.six 2doc、xls、ppt
Via pywin32
可以在不事先创建索引的情况下,使用 OpenSearcher,当然它还是会创建索引,并缓存下来,只不过不强制。如果不是硬盘空间过于紧张,还是推荐建立索引。
索引缓存
就是以文件的 MD5 值
命名的 Text
文本文件,存放目录就在安装目录下的.temp
文件夹下.(这意味这如果更新软件,你可以直接将.temp
文件复制到新安装路径下,而不用耗费时间重新索引
。)
建议关闭编辑器后(比如 Office)再进行搜索。
在第一次运行 OpenSearcher 的时候,可能会提示防火墙权限,青小蛙询问了开发者,得到的答复是:防「火墙我也不知道,我都是选否,要是说请求网络的话:使用了requests库,webbrowser库。」
拒绝通过防火墙之后,完全不影响使用,毕竟这是一款本地的、安全的、开源的、支持全文检索的搜索器。
关于 OpenSearcher
对于这个开源项目,开发者 @Gaoyongxian666 还提到:
这实际上是一个仿照 AnyTxT 写的项目,只是因为 AnyTxT 不开源,由于保密原则,某些环境下无法使用,所以自己写了一个开源项目,如果你单位也有保密原则,不妨试试,本项目所有依赖和包都是开源的,你也可以查看项目代码,自行打包。 由于不太懂设计美化,但是项目里面界面都是 .ui
文件,如果有会 qss
美化的可以帮忙 fork
美化一下。
关于速度
搜索时间大部分都是消耗在第一次处理文件,也就是建立索引缓存那个过程。所以有时你在第一次搜索某个目录的时候感觉不是很快,但是如果你第二次搜索相同的目录将会很快。
原理是我在第一次处理文件时留下缓存文件,之后的搜索会根据文件md5值判断文件是否改变,如果文件内容没有改变直接读取缓存,如果文件内容改变将重新处理,这样就会大大提示搜索速度。
最后,推荐大家在空闲时间要提前建立索引,这样下次搜索会很快。
更多可以参考发现频道:https://meta.appinn.net/t/topic/38343
最近一次更新在 21 个小时以前,正处于热恋期,有要求的快去提。
获取
还有一件事正在进行:Windows 下的《全文搜索工具》提名、投票
这里有一个正在进行中的,最新 Windows 下《全文搜索工具》提名,欢迎同学们前来提名、投票:
目前已收录:AnyTxt、TextLocator、OpenSearcher,等待更新。