我已经在多个分析器机器上运行python代码,每个分析器机器从solr(选择操作)中选择文件并通过使用DB中的更新字段(在更新/插入的情况下)重新提交文档来修改solr中的数据。 但由于不同机器上的不同solr实例都有自己的更新文档,这导致机器之间的数据不一致。
有什么方法可以保留一个中央solr文档存储库,由不同的机器查询和更新,从而确保数据的一致性?
答案 0 :(得分:3)
Solr论坛会在Concurrent Solr add/updates上提供多个主题,这样可以让您清晰了解。
您可以维护Solr的单个实例并让多个客户端提交它 Solr不像RDBMS那样是事务性的,但它确实处理并发性 每当提交时,都会保持锁定,以便其他人不能提交并排队 提交也可以提交所有挂起的提交。
答案 1 :(得分:0)
你这样做是错误的。
SOLR完全能够与单个主服务器一起运行,该服务器获取所有更新,以及许多服务于所有搜索查询的副本服务器。这样,只要您没有太多副本或网络带宽不受任何副本限制,所有服务器都是相同的。
您仍然会有更新过程,但它们只会更新主服务器上的核心。副本服务器将通过SOLR的副本功能自动获取更新。