我已经设置了Solr 7.4集群,其中包含3个节点,3个副本和10个集合。
我遇到一个问题,其中刷新Solr查询可能会得出不同的结果(返回的文档数( 1558 和 1943 ))。此问题在所有收藏集中都可见。
如何检查并解决此问题?
答案 0 :(得分:0)
非常感谢@MatsLindh 我通过 min_rf 参数解决了这个问题。
Solr在更新请求上支持可选的min_rf参数,该参数导致服务器在响应中返回更新请求的已实现复制因子。对于上述示例场景,如果客户端应用程序包含min_rf> = 1,则Solr将在Solr响应标头中返回rf = 1,因为请求仅在领导者上成功。更新请求仍将被接受,因为min_rf参数仅告诉Solr客户端应用程序希望知道更新请求实现的复制因子。换句话说,min_rf并不意味着Solr将强制执行最小复制因子,因为Solr不支持回滚在一部分副本上成功进行的更新。
在客户端,如果实现的复制因子小于可接受的水平,则客户端应用程序可以采取其他措施来处理降级状态。例如,客户端应用程序可能希望保留收集状态降级时已发送更新请求的日志,然后在问题解决后重新发送更新。简而言之,min_rf是一种可选机制,可用于在客户端处于降级状态时警告客户端应用程序已接受更新请求。