Имеется база с полями id, title, description и ctr (тип float). ctr=clicks/impressions и пересчитывается раз в минуту.
indexer --all --rotate запускается каждые 10 минут.
sphinx.conf
sql_query = SELECT id, title, description, ctr FROM posts
sql_attr_float = ctr
Запрос делаю на sphinxQL
$sphinx_sql = " SELECT * FROM sphinxdata WHERE MATCH ('\"$search_key\"/1') LIMIT 500 OPTION ranker=proximity_bm25 ";
Потом получаю список $ids и достаю остальные данные
$sql = " SELECT * FROM posts WHERE id IN ($ids) ";
Как мне в запросе $sphinx_sql учитывать ctr? Т.е. чтобы результаты были примерно ORDER BY (ctr*weight) DESC, где weight это вес который вычисляет sphinx.