我遇到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个属性 - 它们是完好的 - 任何线索为什么?
答案 0 :(得分:0)
当UpdateAttributes
返回0
(不是假)时,并不意味着它不起作用,这意味着它没有找到任何更新,基本上没有提交更新。返回-1
实际上意味着此功能无效。
确保{1}}实际上是您的Sphinx索引中的506607786
,而id
是您索引的名称。
为了使问题更有帮助,您可以在表格中提供示例行,最好将此函数中使用的行定义为products
。您还可以提供一整套代码,以便更轻松。
作为旁注:506607786
不像实时索引那样。您需要在查询中专门过滤这些属性,以便sphinx考虑其新值。