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

如题,并不是找单机软件,我想部署在 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?

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,运行良好~