我正在研究一個需要找到大量其他集合中最相交集合的項目。尋找最好的工具來做大規模的比較
也就是說,我有大量(〜300k)的集合,每個集合有數百個條目。給定其中一組,我需要按照它們相交的順序排列其他組。此外,所設置的條目包含可用作過濾器的屬性,例如,對於集合X,按照與「綠色」條目子集相交的順序排列其他集合。
我有免費的統治建築這個解決方案,我正在尋找技術建議。我最初認爲關係數據庫將是最適合的,但我不確定它將如何執行這些實時比較。有人推薦Lucene,但我不確定它能滿足這個法案的要求。
我猜想值得一提的是,新套件會定期添加,套件可能會增長,但永遠不會縮水。
FWIW,我決定採用混合策略。利用[Hibernate Search](http://www.hibernate.org/subprojects/search)填充RDB後端和Lucene索引。 Lucene文檔將代表一個高級集合,沒有定義過濾標準。實質上,每個文檔將是一個ID列表。 過濾將通過RDB完成。因此,對於我上面的假設命題,工作流將如下所示: 1)查詢RDB以獲取集合中所有「綠色」條目的標識X 2)使用這些標識的查詢Lucene獲得排名結果集 –