【发布时间】:2011-01-07 15:57:36
【问题描述】:
我希望能够根据金额范围和特定 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
谢谢
【问题讨论】:
标签: mysql search configuration filter sphinx