我有一个带有自定义搜索引擎的jsp Web应用程序。
搜索引擎基本上构建在SQL Server数据库的“文档”表之上。
举例说明,每个文件记录都有三个字段:
搜索引擎实际上在描述字段中搜索关键字并在HTML页面中返回结果列表。现在我想在pdf文件内容中搜索关键字。
我正在调查Lucene,Tika,Solr,但我不明白如何将这些框架用于我的目标。
一种可能的解决方案:使用Tika提取pdf内容并存储在新的文档表字段中,这样我就可以在此字段上编写SQL查询。
有更好的选择吗? 我可以使用Solr / Lucene索引功能作为基于SQL的搜索引擎的集成,而不是完全替代它吗?
由于
答案 0 :(得分:3)
我认为Lucene完全独立于SQL数据库,即你不会使用SQL / jdbc /任何数据库来查询Lucene,而是使用它自己的API和它自己的数据存储。
您当然可以使用Tika提取pdf的全文,存储它,并使用SQL DB提供的任何内容。全文检索能力。
如果您使用的是Hibernate,Hibernate Search是一个出色的产品,它集成了SQL商店和Lucene。但你必须采用Hibernate / JPA方式,这可能对你的项目来说太过分了。