UpdateAttributes不起作用

时间:2012-08-20 12:54:33

标签: php sphinx

我遇到UpdateAttributes的问题,它似乎对我不起作用。 当我发出:

$ret = $sphinx->UpdateAttributes ( "products", array ("status"), array(506607786 => array(10)) );

它返回1,但搜索仍然返回状态为旧值。

当我尝试

$ret = $sphinx->UpdateAttributes ( "products", array ("status", "image_id"), array(506607786 => array(10, 6666)) );

它返回0(假)

这项功能是否有效?

好的,我发现(sphinx docs很难看)当从PHP应用程序发出updateAtrributes()时,我不会在搜索命令行中看到结果。但是还有一个问题 存在 - 我无法在一个updateAtrributes()中更新2个属性 - 它们是完好的 - 任何线索为什么?

1 个答案:

答案 0 :(得分:0)

UpdateAttributes返回0(不是假)时,并不意味着它不起作用,这意味着它没有找到任何更新,基本上没有提交更新。返回-1实际上意味着此功能无效。

确保{1}}实际上是您的Sphinx索引中的506607786,而id是您索引的名称。

为了使问题更有帮助,您可以在表格中提供示例行,最好将此函数中使用的行定义为products。您还可以提供一整套代码,以便更轻松。

作为旁注:506607786不像实时索引那样。您需要在查询中专门过滤这些属性,以便sphinx考虑其新值。