2010-10-19 48 views
2

我有一個支持SQL Server數據庫的ASP.NET網站。我一直在使用Lucene.NET來索引和搜索數據庫。我將分面搜索導航添加到結果頁面(這些面是一個黑體字類樹)。我昨天要求確保我使用正確的技術進行刻面。到目前爲止,我得到的一個建議是使用Solr,但Solr做了我不需要的東西lot.NET網站上的Solr

如果Solr的方面處理與one described here by Bert Willems差別很大,我真的很想從任何熟悉Solr源代碼的人那裏知道。基本上,每個面都有一個Lucene過濾器,你可以從中得到位數組,並且可以對數組中的位進行計數。

我在想,因爲我是非常卑微的,所以我應該能夠優化這個很好,但恐怕我可能會嚴重低估這種設計對搜索性能的影響。如果Solr不快,我不會通過使用它獲得任何東西。

回答

3

我建議創建一個原型項目,用Solr建模您的faceting需求,並將其與Lucene.net進行基準對比。

儘管faceting in Solr非常優化(並且始終得到新的優化,例如parallel per-segment faceting method),但在使用Solr時,會有一些開銷,例如網絡往返和響應解析。

如果您的代碼已經實現了Lucene.NET,性能充分,並且不需要任何Solr的附加功能,那麼就不需要切換到Solr。但是也要考慮到,如果你選擇Solr,每個新版本都會免費獲得性能提升。