2012-07-26 212 views
0

我學習的Apache Lucene和我有關於指數的表現有些疑問,的Apache Lucene的索引

  1. 我基於數據庫中的數據,該數據庫的模式建立索引是Lucene Document的模式。
  2. 我有兩個選項來回應搜索。首先搜索索引並用索引響應值,否則搜索索引,得到結果的id(這是表的主鍵)並查詢數據庫。對於前者,我需要將表格的值存儲在索引中,以便我可以使用Index.Store.Yes檢索值,對於後者,它足以索引數據,而不是使用Index.Store存儲數據。不,所以指數不會更大。
  3. 使用前一種技術會影響性能(通過存儲所有值來搜索索引)或搜索索引並查詢數據庫(通過存儲所有值)會影響性能。
  4. 這是最好的辦法還是有上述問題的任何其他解決方案

回答

1

這真的取決於,如果你將有一個巨大的數據集它通常更好地保證指數儘可能的輕和按照您的描述查詢數據庫。但是,如果數據集很小,它們也會存儲它們...

0

在Apache Lucene中搜索操作的性能取決於索引文件的權重。儘可能保持輕量級。那麼在你的情況下,我建議對這兩種情況進行時間戳測試。至少採取20多個觀察。計算平均值。那麼結果統計數據肯定會幫助你做出決定。