像关系数据库一样使用Lucene

KP.*_*KP. 5 lucene indexing search rdbms join

我只是想知道我们是否可以在Lucene中实现一些RDBMS功能。

示例:1)我有10,000个项目文档(pdf文件),必须对其内容进行索引以使它们可用于搜索。2)每个文档都与一个项目相关。项目可以包含项目名称,编号,开始日期,结束日期,位置,类型等详细信息。

我必须在pdf文件的内容中搜索给定的关键字,但是在显示结果时,我要显示第(2)点中提到的项目元数据。

我的想法是在索引时将一个名为projectId的字段与每个pdf文件相关联。一旦获得该信息,我们将再次触发搜索以获取项目元数据。

这样我们可以避免重复数据。同样,如果我们要更新项目元数据,我们最终将只在一个地方进行更新。否则,如果我们将此元数据与所有pdf doument索引一起存储,则最终将更新所有文档,这不是我想要的方式。

请指教。

Yuv*_*l F 1

如果我理解正确的话,你有两个问题:

  1. 我可以在 Lucene 中存储项目 ID 并使用它进行进一步搜索吗?是的你可以。这是一种常见的做法。
  2. 我可以使用这个项目 ID 在 Lucene 中搜索项目元数据吗?是的你可以。我不知道这是否是一个好主意。这取决于元数据更新的频率和您的访问模式。如果元数据相对静态,并且您仅通过 id 访问它,那么 Lucene 可能是存储它的好地方。否则,您可以使用项目 ID 作为数据库表的主键,这可能更合适。