【问题标题】:Sphinx Real Time index UPDATE statement not affecting all rowsSphinx实时索引UPDATE语句不影响所有行
【发布时间】:2013-11-24 03:49:13
【问题描述】:

斯芬克斯把我难住了。我有一个 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 行受影响的消息,但最后一个 两个还没更新。

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

我已经通过代码 (PHP) 和 CLI 对此进行了测试。谷歌搜索和搜索堆栈没有出现任何东西。有什么想法吗?

【问题讨论】:

标签: php mysql sql sphinx


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-08
    • 1970-01-01
    • 1970-01-01
    • 2019-09-21
    • 1970-01-01
    • 2017-01-02
    • 1970-01-01
    相关资源
    最近更新 更多