1

我有一个带有自定义搜索引擎的 jsp Web 应用程序。

搜索引擎基本上建立在 SQL Server 数据库的“文档”表之上。

例如,每个文档记录具有三个字段:

  • 文件编号
  • “描述”(文本字段)
  • 'attachment',文件系统中 pdf 文件的路径。

搜索引擎实际上是在描述字段中搜索关键字,并在 HTML 页面中返回结果列表。现在我什至想在 pdf 文件内容中搜索关键字。

我正在调查 Lucene、Tika、Solr,但我不明白如何将这些框架用于我的目标。

一种可能的解决方案:使用 Tika 提取 pdf 内容并存储在一个新的文档表字段中,这样我就可以在这个字段上编写 SQL 查询。

有更好的选择吗?我可以将 Solr/Lucene 索引功能用作基于 SQL 的搜索引擎的集成,而不是完全替代它吗?

谢谢

4

1 回答 1

3

我认为 Lucene 完全独立于 SQL 数据库,即您不会使用 SQL/jdbc/whatever DB 来查询 Lucene,而是使用它自己的 API 和它自己的数据存储。

您当然可以使用 Tika 来提取 pdf 的全文,存储它,并使用您的 SQL DB 提供的任何内容。全文搜索能力。

如果您使用的是 Hibernate,那么Hibernate Search是一款出色的产品,它集成了 SQL 存储和 Lucene。但是您必须采用 Hibernate/JPA 方式,这对您的项目来说可能是多余的。

于 2011-05-17T10:10:24.473 回答