Java 用关系数据库映射Lucene搜索结果
我有一份包含文件清单的申请。这些文件是 使用Lucene编制索引。 我可以搜索文档的关键字。我循环TopDocs并获取 ID字段(每个Lucene文档的),它与my中的ID列相关 关系数据库。从所有这些ID中,我创建了一个列表。 在建立了ID列表之后,我进行了一个正在执行的数据库查询 以下SELECT语句(JPA): 此文档列表将发送到视图(GUI) 但是,有些文件是私人文件,不应列入清单。所以,, 我们在SELECT查询中有一些额外的语句来执行一些安全性操作 检查: 但现在我想知道:我正在用Lucene的速度快速搜索 文档,但我仍然必须执行SELECT查询。所以我失去了 这台机器的性能:-(。。。 Lucene是否有一些组件为您进行此映射?或者 在这个问题上有什么最佳实践吗?大型项目如何映射Lucene 关系数据库的结果?因为视图应该呈现 结果如何 非常感谢Java 用关系数据库映射Lucene搜索结果,java,search,lucene,Java,Search,Lucene,我有一份包含文件清单的申请。这些文件是 使用Lucene编制索引。 我可以搜索文档的关键字。我循环TopDocs并获取 ID字段(每个Lucene文档的),它与my中的ID列相关 关系数据库。从所有这些ID中,我创建了一个列表。 在建立了ID列表之后,我进行了一个正在执行的数据库查询 以下SELECT语句(JPA): 此文档列表将发送到视图(GUI) 但是,有些文件是私人文件,不应列入清单。所以,, 我们在SELECT查询中有一些额外的语句来执行一些安全性操作 检查: 但现在我想知道:我正在用L
Jochen为什么不使用lucene对数据库中的表进行索引?这样,您可以在1个lucene查询中完成所有操作。如果这是一个大问题,那么可能值得一看,它支持文档级安全性,可能适合您的需要。一些建议:
- 在Lucene中,您可以根据自己的规则使用a缩小搜索结果的范围
- 将主键或唯一键(ID、序列号等)存储在Lucene中。然后,您的关系数据库可以进行唯一键查找并使事情变得非常快速
- Lucene也可以作为文档的存储。如果适用于您的情况,您只需从Lucene检索单个文档的内容,而不需要转到关系数据库
SELECT d From Document WHERE id IN (##list of ID's retrieved from Lucene##)
SELECT d From Document WHERE id IN (##list of ID's retrieved from Lucene##)
AND rule1 = foo
AND rule2 = bar