我有一个包含文件列表的应用程序。这些文件是 使用Lucene索引。 我可以搜索文档的关键字。我循环TopDocs得到了 ID字段(每个Lucene doc)与我的ID列相关 关系型数据库。从所有这些ID中,我创建了一个列表。 在构建ID列表之后,我创建了一个正在执行的数据库查询 以下SELECT语句(JPA):
SELECT d From Document WHERE id IN (##list of ID's retrieved from Lucene##)
此文档列表将发送到视图(GUI)。
但是,有些文件是私人的,不应该在列表中。因此, 我们在SELECT查询中有一些额外的语句来做一些安全性 检查:
SELECT d From Document WHERE id IN (##list of ID's retrieved from Lucene##)
AND rule1 = foo
AND rule2 = bar
但现在我想知道:我正在使用Lucene的速度来快速搜索 文档,但我仍然要做SELECT查询。所以我很失落 在这一个表现:-( ... Lucene是否有一些组件可以为您执行此映射?或者是 有关于这个问题的最佳做法吗?大型项目如何映射Lucene 结果到关系数据库?因为视图应该呈现 结果
非常感谢!
约亨
答案 0 :(得分:0)
为什么不使用lucene索引数据库中的表?这样你就可以在1 lucene查询中做所有事情。
答案 1 :(得分:0)
如果这是一个大问题,那么值得查看支持可能符合您需求的文档级安全性的ManifoldCF。
答案 2 :(得分:0)
一些建议: