SphinxQL按多个字段排序


SphinxQL Order By Multiple Field

我使用这个库,它基本上只是一个查询生成器。

以下查询:

SELECT * FROM car_search ORDER BY car_model_name ASC, car_id DESC LIMIT 2;

结果:

+------+----------------+---------------------+
| id   | car_model_name |              car_id | 
+------+----------------+---------------------+
|   33 |       Audi     |               17461 |
|   20 |       Bentley  |               17439 |
+------+----------------+---------------------+

现在,如果我更改查询顺序,例如

SELECT * FROM car_search ORDER BY car_model_name ASC, car_id ASC LIMIT 2;

可以看出,我将顺序从car_id DESC更改为car_id ASC,希望结果能像MySQL一样排序。这就像斯芬克斯忽略了订单查询,除了第一个查询。

但是对于两个查询,返回的结果完全相同。

我读过关于Sphinx文档中排序模式的文章,但似乎只有当我使用PHP Sphinx客户端时才能做到这一点。

是否可以将其写在索引配置上,例如min_prefix_lenenable_star等?

还是直接从查询中?

这似乎是对ORDER BY在SQL/MySQL中如何工作的误解。您需要的是:

SELECT * FROM car_search ORDER BY car_id ASC, car_model_name ASC LIMIT 2;