php - 强制MySQL写回

标签 php mysql solr

我遇到一个问题,即 Solr 实例正在查询我的 MySQL 数据库以在对该数据库进行更新后立即刷新其索引,但 Solr 查询没有看到之前所做的更改。

我想问题一定是 Solr 使用不同的数据库连接,并且不知何故,更改没有被“提交”(我没有使用事务,只是调用 mysql_query ) 在其他连接可以看到它之前。如果我在那里抛出一个足够长的 sleep() 调用,它在大多数情况下都可以工作,但显然这是 Not Acceptable 。

在继续之前,我可以调用 PHP 或 MySQL 函数来强制写入/更新/刷新数据库吗?

最佳答案

您可以让 Solr 使用 SET TRANSACTION ISOLATION LEVEL = READ-COMMITTED更及时地查看更新的数据。

您应该能够使用 JDBC URL 的 transactionIsolation 属性来执行此操作。

关于php - 强制MySQL写回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16780705/

相关文章:

php - 如何使用group_by codeIgniter根据id从数据库中求和数据

architecture - 高流量网站上的Solr安全数据导入和核心交换

solr - 如何在 SOLR 中使用 OR 传递多个 fq

php: 日期时间算术

JavaScript 时钟适用于 Chrome,但不适用于 Firefox 或 IE

php - JSONPath 查询获取节点名称?

solr - 使用 Solr 进行语音搜索,用于巴西葡萄牙语

php - 使用 Visual Studio 2008 在 Windows 上编译我自己的 PHP 扩展

mysql - 多个连接成一列

mysql - 将相似的查询结果合并为一行