我有一个问题,即 Solr 的实例正在查询我的 MySQL 数据库以在对该数据库进行更新后立即刷新其索引,但 Solr 查询没有看到之前立即进行的更改。
mysql_query
我想问题一定是 Solr 使用了不同的数据库连接,并且在其他连接可以看到它之前,以某种方式没有“提交”更改(我没有使用事务,只是调用)。如果我在那里打了一个足够长的sleep()
电话,它大部分时间都有效,但显然这是不可接受的。
在继续之前,我可以调用 PHP 或 MySQL 函数来强制写入/更新/刷新数据库吗?
您可以让 Solr 使用SET TRANSACTION ISOLATION LEVEL = READ-COMMITTED来获得更新数据的更快速视图。
您应该能够使用 JDBC URL 的 transactionIsolation 属性来执行此操作。