Sphinx实时索引UPDATE语句不会影响所有行

时间:2013-11-24 03:49:13

标签: php mysql sql sphinx

狮身人面像让我难过。我有一个RT索引:

+-----------------+--------+
| Field           | Type   |
+-----------------+--------+
| id              | bigint |
| value           | field  |
| source_id       | bigint |
| hits            | bigint |
+-----------------+--------+

我想要更新多个具有相同source_id(唯一ID)的行。

当我尝试做多个如:

  

UPDATE song_rt SET HITS = 109475 WHERE id in(11136,1194944,1194945,1194946,2661016,2661017);

它不会更新最后两个(2661016,2661017),即使它更新了6行。如果我单独或一起更新最后两个,它可以工作,但是一旦我添加前4个中的一个,它将更新那些,但不会更新2661016或2661017.我甚至尝试颠倒我将ID传递到的顺序没有运气的更新声明。

如果我尝试按source_id更新:

  

UPDATE song_rt SET HITS = 109475 WHERE source_id = 11812;

我得到了相同的6行受影响的消息,但是最后一行 两个仍然没有得到更新。

我正在运行Sphinx 2.1.2,启用了64位ID。

我已经通过代码(PHP)和CLI测试了这一点。谷歌搜索和搜索堆栈没有发现任何东西。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

这实际上是一个错误:http://sphinxsearch.com/bugs/view.php?id=1773

我按照建议更新到rel21并解决了问题。