Задать вопрос
  • Как реализовать sphinx поиск товаров с динамическим курсом валют?

    Добрый день.
    Можете реализовать так:
    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
    Ответ написан
    Комментировать