我正计划为我们的客户实施Solr。我们有一个基于.Net/SQL Server的产品。我们的数据库变得如此之大,我们决定使用Solr来提高查询性能(自动完成,选择列表,网格搜索等)。我们有大量的IIS盒子(因客户而异,典型配置包括16核心,96 GB RAM等),但网络速度很慢。我们的数据库大约100 GB。所以我想这个配置:Solr - 多核心写入器,阅读器复制配置
托管Solr的旁边IIS - 因为我们还没有真正刷爆了IIS和网络很慢,我想举办它在同一个盒子。
Solr的将要通过接受仅本地主机连接(从IIS)与默认容器(码头)托管并固定。我希望为这件作品减少管理费用。
我要去具有用于纯索引和多个复制从属内核的专用主芯(可以是10),用于纯查询。所有索引数据都可以存在于SSD中。
现在我的问题是:
我应该如何处理负载平衡? solrcloud会自动执行吗? (我看过的例子(下面)说“分片” - 我真的不需要分片。)在生产中使用Alpha可以吗? (我们有100个不同的客户端和相应的n/w,h/w配置)
我应该处理提交&从代码复制或让solr处理它?
当复制发生,我怎么将请求路由到其他核心? (覆盖作为#1份?)
在复制期间,将主核心进行进一步的更新被锁定?我应该从代码处理这种情况吗?
是否有可能从从属核心拉“最近更新”的数据 - 理想情况下,我想接近实时搜索功能,但如果solrcloud没有去,那么我想在UI中显示这个时间戳以便用户能够了解数据的最新情况。
http://wiki.apache.org/solr/SolrCloud/
明确指定要查询碎片的地址,给 替代品(由分隔|)用于负载均衡和故障转移:
碎片= localhost:8983/solr | localhost:8900/solr,localhost:7574/solr | localhost:7500/solr
任何帮助,非常感谢。
干杯!