Я бы хотел иметь возможность фильтровать свои заказы по диапазону сумм И конкретному идентификатору пользователя
Ожидаемым результатом будет получение только тех заказов, на которые указанный пользователь сделал ставку в определенном диапазоне сумм.
Например, есть заказ с идентификатором 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) |
+--------------+-----------------------+
Я попробовал следующее в конфигурации сфинкса. Но я не могу установить 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
Спасибо