【发布时间】:2023-03-22 16:02:01
【问题描述】:
我们想使用 PostgreSQL 来存储文档。由于其中一些可能高达 2 GB,我们必须使用 lob 数据类型,其中大对象存储在单独的表 (pg_largeobject) 中,由 OID 引用,根据 docs on large objects。
对我们来说,可以搜索这些文档(.pdf、.doc、...)非常重要。用built-in PostgreSQL full text search可以搜索表和列,但是是否也可以搜索pg_largeobject表中的大对象?
如果没有,我们必须使用 Oracle。
【问题讨论】:
-
您是否考虑过仅使用 Solr 而不是其他 RDBMS? Solr 支持索引 PDF 和 DOC 文件 + 分面搜索。据我所知,您可以将 Solr 用作 NoSQL 数据存储,也就是说,将实际的 PDF/DOC 文件直接存储在 Solr 中。不过我不知道 2 GB 文件。
-
您可以使用 Apache Tiki 库来获取 PDF 或 Word 文档的纯文本,并将它们放在另一个列中。哎呀,您可能可以使用 PL/Java 在数据库中直接完成
标签: postgresql search full-text-search