Вместо сортировки по умолчанию в sphinx, я хотел бы отсортировать/весовые результаты на основе поля в другой таблице. Моя схема выглядит следующим образом:Использовать другую колонку таблицы для сортировки весов поиска sphinx
node {
id
weight
}
node_text {
id
node_id
text
}
(Примечание: Существует только один node_text для каждого узла)
Я хочу, чтобы индекс node_text
, но быть в состоянии вернуть Sphinx результатов заказанных node.weight
. Я предполагаю, что мне нужно что-то вроде этого:
sql_query = SELECT node_id, text from node_text
sql_joined_field = weight from query; SELECT id, weight FROM node ORDER BY id ASC
это правильный путь для поиска матчей ORDER BY node.weight DESC
? Я хотел бы быть в состоянии выполнить запрос, как следующее:
mysql> SELECT * FROM nodetest1 WHERE MATCH('foobar') ORDER BY weight DESC; SHOW META;