我希望能够在一个金额范围和一个特定的 user_id 上过滤我的订单预期的结果将是只获得指定用户在特定金额范围内出价的订单。
例如,有一个 id 为 1 的订单。用户 5 对其出价为 200。现在,如果我想过滤,我将 user_id 过滤器设置为 5,并将范围过滤器设置为 150-250 的金额。
如何将 sphinx 配置为能够以这种方式进行过滤?
我有以下表格:
命令:
+-------------+-----------------------+
| Field | Type |
+-------------+-----------------------+
| id | mediumint(8) unsigned |
| title | varchar(100) |
| description | text |
+-------------+-----------------------+
出价:
+--------------+-----------------------+
| Field | Type |
+--------------+-----------------------+
| id | mediumint(8) unsigned |
| order_id | mediumint(8) unsigned |
| user_id | mediumint(8) unsigned |
| amount | mediumint(9) |
+--------------+-----------------------+
我在 sphinx 配置中尝试了以下内容。但我不能将 user_id 设置为前导。结果是我获得了在该金额范围内(来自所有用户)有出价的所有订单,并且我获得了用户出价的所有订单。
sql_attr_multi = uint amount from query; SELECT order_id as id, amount FROM bids
sql_attr_multi = uint user_id from query; SELECT order_id as id, user_id FROM bids
谢谢