Sphinx (PHP) を使用して価格順に表示しようとしていますが、そうすると 1.75 ポンドの前に 10 ポンドと表示されるため、mySQL のように ABS を使用する必要があります。
私はこれを試しました:
$s->SetSortMode (SPH_SORT_EXPR, "ABS(display_price) ASC" );
しかし、うまくいかないようです。
誰でも助けることができますか?
Sphinx (PHP) を使用して価格順に表示しようとしていますが、そうすると 1.75 ポンドの前に 10 ポンドと表示されるため、mySQL のように ABS を使用する必要があります。
私はこれを試しました:
$s->SetSortMode (SPH_SORT_EXPR, "ABS(display_price) ASC" );
しかし、うまくいかないようです。
誰でも助けることができますか?
検索インデックスで display_price 属性が小数として扱われているかどうかを確認します
おそらくあなたは持っています
sql_attr_string = 表示価格
それ以外の
sql_attr_float = 表示価格
また
sql_attr_bigint = 表示価格
SPH_SORT_EXPR は常に降順です。ASC/DESC は EXTENDED モードでのみ使用できます。
それを acsending にするために「反転」するには、それを式に組み込むことができます。
$s->SetSortMode (SPH_SORT_EXPR, "1000000-CEIL(ABS(display_price*100.0))" );