寻:可部署在服务器的文档全文索引和搜索软件

如题,并不是找单机软件,我想部署在 NAS 上,给它“喂”包含大量文档(PDF、Office 文档)的目录,通过建立全文索引,提供全文搜索服务,通过 Web 前端使用。有没有类似用法、实际体验过的解决方案可以推荐?

我也做了一些相关了解:

1、Docfetcher Server。Docfetcher 我用过单机版,会在本地建立索引库。Docfetcher Pro 是它的收费版本,其中包括 Docfetcher Server 版。

Docfetcher Server 通过提供一组程序资源和控制脚本来实现系统安装、运行和管理,设计目标是在一台物理服务器或者虚拟机上运行,由于它对服务器内存有一定需求,一般建议 16G,我的 NAS 内存就是 16G,所以我想容器形式其实更灵活。

我简单看了下 demo,发现有不少困难,一是网上没有现成的容器镜像,二是设计上不太容易实现配置文件和存储的持久化,例如文档库路径没有写到配置文件中而是在 Web 页面中配置,例如创建的索引库路径的配置不知道在哪里。

2、另外还尝试了 Paperless-ngx,它无法对已有目录去建立索引,而是对 consumption 目录(类似收件箱)进行实时处理,处理完即归档到其他位置并删除源,不符合我的场景;还有 Mayan EDMS,似乎有点潜力,但功能似乎有点太大了,配置似乎有点复杂有待研究。

有没有相关经验的,或是有其他方案推荐的,可以交流一下。

可以试试 myBase 的服务器版,另外,能够自己部署的在线文档、协作工具理论上也都提供了索引、检索能力。

看了下,服务器版叫 InnoKB,单用户授权的费用跟 DocFetcher Server 差不多,只是没有提供 demo,不便于摸索 :joy:

我后来又做了些尝试,随后更新~

更新:

DocFetcher Server 进一步了解和尝试后,DocFetcher Server 还是很容易容器部署的,其中整个程序包、配置文件和建立的索引都在同一文件夹,利用 baseimage-ubuntu 挂载主机文件夹就可以。然而 DocFetcher Server 最终落败的原因是不支持中文词组的分词(word segment)方式,导致关键词中每一个字都会被算作匹配项,使得中文文档情况下完全不可用。诡异的是,免费版 DocFetcher 是支持中文词组的。关于这个问题我邮件咨询了开发者,回复如下

Qsirch 在搜索“NAS 全文检索”的时候,突然想起 QNAP 官方的 Qsirch 就支持全文检索,我兴冲冲地去尝试,产品介绍感觉很不错,AI OCR、物体搜索、颜色搜索都支持。实际结果却让我不满意,主要体现在执行搜索后响应慢、结果列表界面实时生成文档缩略图导致风扇狂转,这些问题都发生在只针对少量文档文件夹建立索引后、关闭 OCR 和物体颜色搜索等高级功能的情况下。根据观察我认为这跟缩略图生成机制有关,但无法关闭这个功能。

sist2 【非常推荐】在 reddit 中看到有人推荐 sist2 便去尝试了,sist2 是 Simple incremental search tool 的缩写。虽然这还只是 beta 版本,但感觉已经是满足我基本使用需求了。部署文档简洁易懂,支持 elasticsearch,支持针对不同的目录建立索引,搜索界面可自由选择哪些索引,运行效率还相对高效。(当然也有不足,例如不支持在线预览文档内容,直接就是下载文档。它主要胜在整体完成度高、简洁易用、工作流清晰。)

我了解到 Nextcloud 也是有全文检索方案的,以前似乎通过 nextant app 提供,但现在已经停用、更换安装方式了,粗看了文档感觉很复杂,作罢。

sharepoint?

https://www.lesbonscomptes.com/recoll/pages/index-recoll.html

Recoll 根据文档内容 和文件名查找文档。

不要浪费钱, mybase的innokb 搜索差, 性能差, 20年前的技术,

nextcloud 里面有个全文检索的插件Elasticsearch,也支持onlyoffice这类在线文档编辑服务。 都支持docker安装,这几个东西还是比较吃硬件的。

群晖自带Universal Search,也是支持搜索文档内容的。

Nextcloud 的主要问题在于,若挂载已有目录、通过外部(例如 NAS 系统)进行文件管理,它的附加应用是无法感知文件变化的,除非使用命令行,易操作性上大打折扣。

在试用 NC 的过程中发现这个问题很恼人。NC 的附加应用包括搜索、Memories 等都建立在 NC 自己的文件管理体系上,换句话说,你需要使用他的各终端文件管理功能、webdav 服务等方式来增、删、改文件,文件的变化情况才会被系统感知,各类附件应用才可正常运行。

这些基础文件管理功能,NAS 系统自身就已具备。借助 NAS 系统功能,用户常常建立起成熟的文件管理工作流:存量文件分类整理完毕,通过 webdav、FTP 等方式将笔记本上的文件分类追加、更新至 NAS。如果贸然叠加一层 Nextcloud 的文件管理,功能上无疑是重叠的,且文件管理容易与特定软件体系绑死。

谢谢,我也是看了它的价格,跟 docfetcher 差不多,但是网站本身很老,猜测技术也比较老了。目前在用 sist2,运行良好~