如何在Master-> Slave环境中使用Solrnet?

时间:2013-03-15 20:32:32

标签: c# solrnet

我目前正在为我们公司实施Solr以取代我们的GSA系统,并且我正在实施中。我使用SolrNet将客户端访问代码通过C#与Solr连接。

现在我正在关注wiki并通过Startup.Init<XosContentDocument>("http://localhost:8080/solr/xosContent");实例化Solr配置。然后我通过ServiceLocator.Current.GetInstance<ISolrOperations<XosContentDocument>>();

检索solr集合

现在可以使用(是的,我将把url移动到配置设置,所以它不是直接在代码中)但我很困惑,一旦我们添加冗余,它将如何工作。

我的计划是获得两个Solr实例,一个是Master,第二个是slave,并且在两者之间有一个内部可访问的域名(例如solr.internal.whatever.com),用于读取请求。但是,根据我对研究Solr复制的理解,我必须只对主机进行写操作,因为任何写入从机的写操作都会在后续复制时被丢弃。

因此,我确实需要2个ISolrOperations<XosContentDocument>>实例,1指向查询负载均衡器的地址,另一个直接指向主solr实例的地址。由于我看到初始化和检索ISolrOperations<T>的唯一方法是使用Startup.Init<T>(); ServiceLocator.Current.GetInstance<ISolrOperations<T>>,我如何实现这种双重性质?

1 个答案:

答案 0 :(得分:0)

在主/从环境中使用SolrNet的过程与用于多核环境的过程相同。 您可以在此处详细了解:https://code.google.com/p/solrnet/wiki/MultiCoreAccess

他们这样做的方式更确切地说是让一个核心指向主服务器进行索引,另一个指向其他服务器进行查询。