如何使用字段 = old_value + new_value 更新 Sphinx 实时索引?

How to update Sphinx Realtime Index with field = old_value + new_value?

我正在尝试 update the Sphinx Search Realtime Index ,使用我的 Mysql Table 中的值, 我想 add the new value in the old value 这样的 RT 索引记录, 我想实现这个

UPDATE RT_index SET col1 = old_val + new_val WHERE id = xx ;

我正在尝试的查询是

UPDATE RT_index SET comments_count = comments_count + 3 WHERE id = 1157642 

但是 Sphinx 给我错误

ERROR 1064 (42000): sphinxql: syntax error, unexpected IDENT, expecting CONST_INT (or 4 other tokens) near 'comments_count + 3 WHERE id = 1157642'

我试过这样的查询

 UPDATE RT_index SET comments_count = value(comments_count) + 3 WHERE id = 1157642;

但 sphinx 仍然报错,

ERROR 1064 (42000): sphinxql: syntax error, unexpected IDENT, expecting CONST_INT (or 4 other tokens) near 'value(comments_count) + 3 WHERE id = 1157642'

如何在 sphinx 实时索引中使用更新在旧值中添加新值?

我正在使用 PHP 来执行此操作。

http://sphinxsearch.com/docs/current.html#sphinxql-update

中没有太多关于它的信息

你不能。需要先运行一个SELECT查询得到当前值,然后运行UPDATE。

不确定是否可以使用事务来使更新原子化。