2012-06-21 27 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实例中的数据。

相关问题