2010-11-18 77 views
1

當我在我的應用程序中索引對象(使用hibernate search和lucene)時,我想在索引中存儲對象關聯的一些屬性。我需要將它們存儲在索引中,因爲我需要快速檢索這些屬性。這樣做的最佳方法是什麼?如何從關聯索引屬性?

  1. 將對象關係存儲在lucene中。這似乎是最簡單和最快的方法。
  2. 存儲在數據庫的對象關係
  3. 存儲對象的東西關係分離像一個快速key-value存儲

我如何能一組屬性存儲從對象從一個子集,任何其他的想法我的應用程序的對象圖?我應該使用哪種解決方案?

回答

0

如果您在檢索文檔時經常需要屬性,我會將它們粘貼在索引中。如果它們的使用頻率不高,我會使用選項2或3.如果知道何時需要它們,何時不需要,可以使用FieldSelector來控制是否加載(或哪些)屬性。

要考慮的另一個因素是屬性的基數,以及您是否可以考慮將它們的值合併到查詢或排名算法中。如果答案是肯定的,那麼將它們粘貼到Lucene索引中會更好。