快速搭建本地的文档武器搜索库

快到离谱!AnyTXT Searcher 免费「全文搜索工具」(秒搜文档/类似 Everything)

碰到的问题

全文检索是很多同学的刚需,在本地磁盘中有许多的文档。想找到某一个文档,但不记得名字,只知道大概的内容,就需要全文搜索了。

经常搞论文的同学对zotero不陌生,但太局限与论文的格式。不能普适与其他文档。

这里有一篇文章介绍zotero https://mp.weixin.qq.com/s/Q_ZPHQNVtK_UOy-NiFRjLQ

很多人知道在Windows下有一个超级经典的搜索文件神器——Everything,它能在瞬间极短的时间内帮你搜索整台电脑所有硬盘里的文件,绝对是每个追求效率人士的必备工具。

然而,虽然Everything很神,但它却只能执行文件名的搜索,缺少了“文本内容搜索”这个很多人都非常需要的功能!而今天推荐的AnyTXT Searcher 全文搜索工具则完美解了决这个问题,它既有秒搜文件的极快速度,同时还能通过文本内容来查找出文档的位置……

对比了 zoteroDocFetcherFileLocatorGoogle Desktop等,最终选择了anytxtEverything的作者也推荐过AnyTXT Searcher

我们可以用这个东西干什么用呢?

你的电脑上肯定存了不少的资料文件、某某会议的ppt、安全类的文章pdf等……似乎这些文件都是我保存==我学会。事后再也记不住它在那个地方了。

如前段时间保存了某表哥的武器库

无奈静态的文本不像网站上支持快速内容检索。就可以使用anytxt搭建一个可搜索的武器库。

搭建本地文档武器库

anytxt搭建教程

  1. 官网下载地址 https://anytxt.net/

  2. 下载后安装选择中文

  3. 启动软件,点击工具-索引管理-索引服务-停止

    我只想对部分文件添加索引。默认是开启了许多类型的文件,并且开启了索引的服务,所以第一次运行先关闭索引服务,否则会花费很多时间进行索引。

  4. 删除默认索引,点击工具-索引管理-文件类型,移除所有的类型。

  5. 建立新的索引,点击面板中添加-文件夹。选择需要的文档文件夹,默认会识别文件夹中的文件类型,这里只需要word类型。点击确定软件立即创建索引。

  6. 关闭索引定时更新,点击工具-索引管理-更新周期-从不。只需要你添加文件文档的时候手动更新一次即可。

我们看到后台AnyTXT Searcher Indexing Service服务占用了大量的cpu,等待索引完成后就可以搜索。

注意:索引没有创建完成的时候检索的速度慢且不准,需耐心等待。文件数量多的情况可能要一个小时。

搜索gif

搜索条件:必须是两个字符以上,另外支持多关键字搜索。


同样除了搜索本地保存的文件外,另一个搜索也是存在很大问题的,那就是微信公众号的搜一搜。明明是前两天看过的公众号文章,就在搜索里面完全搜不到,真的离谱。搜索的结果一不全面,二时间顺序不准。

洞见微信聚合离线版

使用flask sqlite写一个简单的前端界面版本,包含分类,公众号仓库,搜索,上传数据,数据去重,公告。

介绍

当我们看过一篇公众号文章忘记收藏,那天想找的时候可能已经忘了是那个公众号的那篇历史文章了。

http://wechat.doonsec.com平台上
搜索功能只有搜索的标题+描述,导致限制结果的准确度。所有的文章我们没有精力一一打上标签。我们也尝试利用sql查询检索所有的数据文本。可是效果十分不理想,毕竟sql不适用于这种超大文本的查询。

于是我们开源了离线版,一方面减少网站的爬虫,二来用户可以写个脚本根据提供的数据下载公众号的文章保存本地pdf或word。使用上述anytxt的软件拓展资料库。

洞见微信聚合是一个收录安全圈公众号历史文章链接的工具。帮助使用者根据关键字快速找到公众号的历史文章。解决微信搜一搜搜索信息不全面的困扰。

  • 数据全:目前整理数据已有10W+,每月数据增量大约5000篇。
  • 速度快:检索结果1s出现,更有多种查询语法,可根据源码魔改查询方式。
  • 轻安装:使用python开发,安装简便,docker一步搞定,可在win+mac+linux平台快速部署

数据库信息的不足肯定会成为一个诟病的地方。前期数据的收录相对局限,需要多人提交维护一个相对全面的公众号列表。

部署

本项目提供较大的数据源,故源码与数据分离。部署时候需要分别下载这两部分内容。

步骤:

  1. 下载源码
1
https://github.com/doonsec/WechatTogetherOffline.git
  1. 下载文章数据库–wechat.db
1
https://cloud.189.cn/t/me6nMbUZJRzi(访问码:0qqi)
  1. 移动下载的数据库wechat.db至目录src/db

  2. 执行docker-compose.yml文件

    1
    docker-compose up -d
  3. 打开浏览器,访问127.0.0.1:8000

部署完成。

效果与网站一致

开源地址:https://github.com/doonsec/WechatTogetherOffline

参考链接