如何在主-从环境中使用Solrnet
本文关键字:Solrnet 环境 | 更新日期: 2023-09-27 18:04:23
我目前正在为我们公司实现Solr,以取代我们的GSA系统,并且正在实施中。我使用SolrNet作为客户端访问代码,通过c#与Solr接口。
现在我正在遵循wiki并通过Startup.Init<XosContentDocument>("http://localhost:8080/solr/xosContent");
实例化Solr配置。然后通过ServiceLocator.Current.GetInstance<ISolrOperations<XosContentDocument>>();
这工作现在(是的,我要把url移动到一个配置设置,所以它不是直接在代码),但我很困惑,这将如何工作,一旦我们增加冗余。
我的计划是得到两个Solr实例,一个是主,第二个是从,并有一个内部可访问的域名(例如solr.internal.whatever.com)之间的读请求负载平衡。然而,根据我对研究Solr复制的理解,我必须只对主服务器进行写操作,因为任何到从服务器的写操作将在后续复制中被丢弃。
因此,我真的需要2个ISolrOperations<XosContentDocument>>
实例,一个指向查询负载均衡器的地址,另一个直接指向主solr实例的地址。由于我所看到的初始化和检索ISolrOperations<T>
的唯一方法是使用Startup.Init<T>(); ServiceLocator.Current.GetInstance<ISolrOperations<T>>
,我如何实现这种双重性质?
在主/从环境中使用SolrNet的过程与在多核环境中使用的过程相同。您可以在这里阅读更多内容:https://code.google.com/p/solrnet/wiki/MultiCoreAccess
更确切地说,我的做法是一个核心指向主服务器用于索引,另一个指向从服务器用于查询。