1

我已经在多台分析机器上运行了 python 代码,每台机器都从 solr(选择操作)中挑选文档,并通过重新提交带有来自 DB 的更新字段的文档(在更新/插入的情况下)来修改 solr 中的数据。但是由于不同机器上的不同solr实例都有自己的更新文档,这导致了机器之间的数据不一致。

有什么办法可以保留一个中央 solr 文档存储库,由不同的机器查询和更新,从而确保数据的一致性?

4

2 回答 2

3

Solr 论坛将提供有关并发 Solr 添加/更新的多个线程,这将为您提供清晰的画面。

您可以维护一个 Solr 实例并让多个客户端提交到其中。
Solr 不像 RDBMS 那样是事务性的,但它确实处理并发。
每当提交时,都会维护一个锁,以便其他人无法提交并排队。
提交也可以提交所有待处理的提交。

于 2012-03-01T06:30:26.123 回答
0

你这样做是错误的。

SOLR 完全能够与获取所有更新的单个主服务器和服务所有搜索查询的许多副本服务器一起运行。这样,只要您没有太多副本或网络带宽不受任何副本的限制,所有服务器都是相同的。

您仍然会有更新过程,但它们只会更新主服务器上的核心。副本服务器将通过 SOLR 的副本功能自动获取更新。

首先阅读SOLR wiki 页面上的复制

于 2012-03-01T07:08:00.120 回答