0

Sphinx (PHP) を使用して価格順に表示しようとしていますが、そうすると 1.75 ポンドの前に 10 ポンドと表示されるため、mySQL のように ABS を使用する必要があります。

私はこれを試しました:

$s->SetSortMode (SPH_SORT_EXPR, "ABS(display_price) ASC" );

しかし、うまくいかないようです。

誰でも助けることができますか?

4

2 に答える 2

2

検索インデックスで display_price 属性が小数として扱われているかどうかを確認します

おそらくあなたは持っています

sql_attr_string = 表示価格

それ以外の

sql_attr_float = 表示価格

また

sql_attr_bigint = 表示価格

  • 更新しました
于 2013-01-03T23:06:41.380 に答える
1

SPH_SORT_EXPR は常に降順です。ASC/DESC は EXTENDED モードでのみ使用できます。

それを acsending にするために「反転」するには、それを式に組み込むことができます。

$s->SetSortMode (SPH_SORT_EXPR, "1000000-CEIL(ABS(display_price*100.0))" );
于 2012-12-31T15:48:07.800 に答える