java - 如何对数据库中作为二进制数据存储的文件进行索引?

标签 java postgresql lucene

我想根据用户输入的关键字/短语执行内容搜索,并返回包含这些关键字/短语的条目。 我想要执行搜索的文档作为二进制数据存储在 postgressql 中。

最佳答案

第一步是从二进制文件中获取可读文本。用于从各种文件类型中读取文本的一个很好的库是 Apache TIKA .

从文档中获得可读文本后,您需要将此文本与原始二进制文档的一些引用一起存储在 PostgreSQL 中,并使用 PostgreSQL 的全文搜索功能进行搜索:https://www.postgresql.org/docs/9.6/static/textsearch.html

数据库搜索功能的替代方案类似于 Apache Lucene 。到目前为止,我使用 Apache Lucene 取得了非常不错的结果。

关于java - 如何对数据库中作为二进制数据存储的文件进行索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39931247/

相关文章:

java - 为什么我的应用程序不从 fragment 中打开新的 Activity?

java - Spring Security ACL - 具有 READ 权限的用户可以撤销自己的访问权限吗?

java - Hibernate 中的一对一共享主键映射可以是可选/空吗?

lucene - Lucene/Elastic Search中使用添加 token 的分析器的搜索行为?

java - 如何在 CDI 注入(inject)的字段中从父类(super class)转换为派生类?

java - 如何使用android ble接口(interface)作为结构发送uint8和uint32数据

postgresql - postgres 中的 sp_send_dbmail 替代方案?发送 Postgres 电子邮件报告的简便方法?

PostgreSQL:匿名 DO block 的 void 返回类型

search - Elasticsearch Bool查询

lucene - 如何指示Lucene中的StandardAnalyzer不要删除停用词?