Добрый день.
Можете реализовать так:
1. В индекс занесите только цену в исходной единице и поле отвечающие за тип валюты.
2. В запрос к сфинксу передаём текущий курс:
SELECT
(IF(PriceFlag=0,Price*cursDol,IF(PriceFlag=1,Price*cursUE,Price))) AS PriceRub
FROM Index
ORDER BY PriceRub
Или можно создавать глобальную переменную сервера(а точнее для каждой валюты)
SET [INDEX index_name] GLOBAL @user_variable_name = (int_val1 [, int_val2, ...])
И в запросе его использовать:
(Это происходит раз в 10 минут)
SET GLOBAL @cursDol=50
SET GLOBAL @cursUE=70
--Запрос
SELECT
(IF(PriceFlag=0,Price*@cursDol,IF(PriceFlag=1,Price*@cursUE,Price))) AS PriceRub
FROM Index
ORDER BY PriceRub