如何在主-从环境中使用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>>();

检索solr集合

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

我的计划是得到两个Solr实例,一个是主,第二个是从,并有一个内部可访问的域名(例如solr.internal.whatever.com)之间的读请求负载平衡。然而,根据我对研究Solr复制的理解,我必须只对主服务器进行写操作,因为任何到从服务器的写操作将在后续复制中被丢弃。

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

如何在主-从环境中使用Solrnet

在主/从环境中使用SolrNet的过程与在多核环境中使用的过程相同。您可以在这里阅读更多内容:https://code.google.com/p/solrnet/wiki/MultiCoreAccess

更确切地说,我的做法是一个核心指向主服务器用于索引,另一个指向从服务器用于查询。