2013-01-21 59 views
0

我有兩個Lucene索引(版本3.5.0),我將在其中使用Hibernate Search編寫索引。我需要實現一個搜索,該搜索返回的結果是各個索引結果的交集(AND)。主要問題是單個結果和最終結果都可能非常大,所以組合應該是有效的。 有沒有一種有效的方法來做到這一點? MultiReader可以幫助我嗎?多索引Lucene高效地搜索結果

回答

1
  1. MultiReader是跨多個索引搜索的簡單方法。
  2. 用索引標記每個Lucene文檔可能是最快的解決方案;如index:globalindex:local(如果您有globallocal索引)。例如,查詢的「例外」可能看起來像:

    (例外,指數:全球)OR(異常和索引:本地),您之後過濾搜索結果Lucene的文件

那發生在兩個指標中。

請注意,您不能執行天真查詢:

exception AND (index:global AND index:local) 

一樣會有0既index:globalindex:local值(零)Lucene的文檔。

+0

'exception AND(index:global OR index:local)'? –