2010-11-18 60 views
1

当我在我的应用程序中索引对象(使用hibernate search和lucene)时,我想在索引中存储对象关联的一些属性。我需要将它们存储在索引中,因为我需要快速检索这些属性。这样做的最佳方法是什么?如何从关联索引属性?

  1. 将对象关系存储在lucene中。这似乎是最简单和最快的方法。
  2. 存储在数据库的对象关系
  3. 存储对象的东西关系分离像一个快速key-value存储

我如何能一组属性存储从对象从一个子集,任何其他的想法我的应用程序的对象图?我应该使用哪种解决方案?

回答

0

如果您在检索文档时经常需要属性,我会将它们粘贴在索引中。如果它们的使用频率不高,我会使用选项2或3.如果知道何时需要它们,何时不需要,可以使用FieldSelector来控制是否加载(或哪些)属性。

要考虑的另一个因素是属性的基数,以及您是否可以考虑将它们的值合并到查询或排名算法中。如果答案是肯定的,那么将它们粘贴到Lucene索引中会更好。