Postgresql:可能在全文内搜索?

我们想使用PostgreSQL来存储文档.由于其中一些可能高达2 GB,我们必须使用lob-Datatype,其中大对象存储在单独的表(pg_largeobject)中,由OID引用,如 docs on large objects所示.

对我们来说,可以搜索这些文档(.pdf,.doc,…)非常重要.可以搜索built-in PostgreSQL full text search表和列,但是也可以搜索pg_largeobject表中的大对象吗?

如果没有,我们必须使用Oracle.

这里至少有两个问题.

>全文搜索并不适用于存储为lob或oid-references的大对象.你不能全文索引pg_largeobject的内容.
>全文搜索是文本的索引系统.它无法索引PDF,Microsoft Word文档或其他随机二进制文件.它没有提供文本提取工具回调等.

你可以:

>创建一个表,其中包含使用外部工具从这些文件中提取的文本以及引用其自身的文件的oid,然后是提取文本表的全文索引;要么
>使用功能更强大,功能齐全的外部搜索系统,如Solr(基于Lucene),旨在应对不同的格式,进行自己的文本提取等.

相关文章
相关标签/搜索