gpt4 book ai didi

java - Apache Solr : Slave replicates 10+ times every time it polls (excessive commits? )

转载 作者:太空狗 更新时间:2023-10-29 22:35:56 24 4
gpt4 key购买 nike

我们正在使用 Apache Solr (3.1.0) 为为多个站点编写的大量文章编制索引。我们有一个主/从设置(底部的复制配置),其中服务器 1 索引文章,服务器 2 复制索引。从站应该每 60 秒轮询一次主站,但相反,我们几乎每次都可以看到 10 到最多 75 个连续的 /replication 调用。

每个 Solr 核心(从配置中的 ${solr.core.name}) 代表不同的站点。我看到最多的 /replication 调用与最大的站点相关联。其中一个核心每分钟只有 1 个调用,在调用 update?commit=true 几次后我已经能够在那里重现这个,所以这让我认为它与数量有关主人执行的提交。

所以我的问题是,如何阻止 Solr 从复制索引数十次并强制它每分钟只复制一次?我试过在主配置中使用 commitReserveDuration 参数,但我看不出有什么区别。

主复制配置:

 <requestHandler name="/replication" class="solr.ReplicationHandler" >
<lst name="master">
<str name="replicateAfter">commit</str>
<str name="replicateAfter">startup</str>
</lst>
</requestHandler>

从复制配置:

 <requestHandler name="/replication" class="solr.ReplicationHandler" >
<lst name="slave">
<str name="masterUrl">http://${solr.master.server}/search/${solr.core.name}/replication</str>
<str name="pollInterval">00:00:60</str>
</lst>
</requestHandler>

最佳答案

在配置中,您将复制指定为提交,因此如果您非常频繁地从代码发出提交,那么它会触发复制,因此我建议更改为优化而不是提交。这应该可以解决您的问题。 Here是提供有关 replicationafter 设置的更多详细信息的链接。

关于java - Apache Solr : Slave replicates 10+ times every time it polls (excessive commits? ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35653520/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com