0

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 (偽) を返します

この機能は動作しますか?

PHPアプリから updateAtrributes() を発行すると、検索コマンドラインに結果が表示されないことがわかりました(スフィンクスのドキュメントは醜いです)。ただし、1 つの問題がまだ存在します - 1 つの updateAtrributes() で 2 つの属性を更新できません - 別々にそれらは問題ありません - 手がかりはありますか?

4

1 に答える 1

0

UpdateAttributes(false ではない)が返された場合0、それは機能しなかったという意味ではなく、更新するものが見つからなかったことを意味し、基本的に更新はコミットされていません。実際に が返された-1場合は、この関数が機能しなかったことを意味します。

506607786が実際にidSphinx インデックスにあり、それproductsがインデックスの名前であることを確認してください。

質問をより役立つものにするために、表から例の行を提供できます506607786。簡単にするために、コードの完全なセットを提供することもできます。

補足として:UpdateAttributesはリアルタイム インデックスのようには機能しません。Sphinx が新しい値を考慮に入れるためには、特にクエリでこれらの属性をフィルタリングする必要があります。

于 2012-08-20T13:03:02.640 に答える