2011-07-28 36 views
0

我們在Lucene的頂部使用NHibernate 3.1和NHibernate.Search進行全文搜索。到目前爲止,它工作良好,但我們有一些可擴展性問題:對nhibernate.search使用分片索引分片

在我們的數據庫中,我們有幾個不同的客戶數據 - 每個客戶都不能看到彼此的數據。到目前爲止,我們已經使用過濾器解決了這個問題,但問題是我們的索引正在增長巨大,而且我們在悲觀鎖定方面遇到問題,阻礙了查詢。

我們想要做的是使用Lucene的分片功能爲每個客戶(所有實體都具有此客戶ID的屬性)分區索引。

有沒有人在NHibernate Search中試過這個 - 是否有可能?

回答

1

不知道你的數據庫/會話工廠設置是什麼樣的,但你可以使用會話工廠指向每個客戶的不同索引目錄。如果你只有一個數據庫,這可能有點奇怪,但如果你在一個數據庫中支持多個客戶的方法是健全的,那麼這應該是非常容易的。

如果這聽起來很有趣,請看this answer

+0

嗯...我想,我可以使用SessionFactory的Dictionary'ish方法 - 它將爲每個客戶實例化不同的會話參數。它也可能用於更靈活地使用二級緩存(因爲配置文件(每個客戶)顯示的用法非常不同)感謝您的時間:-)。 – Goblin