2012-06-21 24 views
1

我在我的應用程序中使用Solr.NET。在應用程序中,我需要連接到兩個不同的solr服務器。這兩個solr服務器都返回相同類型的文檔,我們稱之爲文檔類型Foo。SolrNet - 自定義連接的多個實例

此外,我需要使用自定義連接,以便所有查詢總是POST到solr。

這是我到目前爲止有:

StartUp.Init<Foo>(new PostOnlyConnection(connectionString1)) 
StartUp.Init<Foo>(new PostOnlyConnection(connectionString2)) 

顯然,IoC容器上,這將引發一個錯誤,因爲這兩個類型相同。我試圖用位於this article中的信息來解決這個問題,但是Windsor工具不允許我傳入自定義連接對象,只是連接字符串。有任何想法嗎?

回答

2

看起來您仍在使用內置容器(啓動),該容器限於不同的文檔類型。你發佈的article包含一個溫莎的例子。

我對溫莎不太熟悉,但您應該可以用您的自定義PostOnlyConnection重新註冊ISolrConnection

參考文獻:

Explaination of SolrNet connection

0

如果溫莎選項不工作,你可以創建2班來自同一個類繼承只是初始化與不同類型Solr的連接。

class Foo {} 
class FooA : Foo {} 
class FooB : Foo {} 

StartUp.Init<FooA>(new PostOnlyConnection(connectionString1)) 
StartUp.Init<FooB>(new PostOnlyConnection(connectionString2)) 

我有超過1個核心,這是我使用的解決方案。它會帶來一些挑戰,這意味着您需要一些模板方法來查詢每個solr實例中的數據。

相關問題