Plutôt que le tri par défaut dans sphinx, je voudrais trier/pondérer les résultats en fonction d'un champ d'une autre table. Mon schéma ressemble à ceci:Utiliser une colonne de table différente pour trier les poids de sphinx
node {
id
weight
}
node_text {
id
node_id
text
}
(Note: Il n'y a qu'un seul node_text pour chaque nœud)
Je veux index node_text
, mais être en mesure de retourner des résultats ordonnés par node.weight
sphinx. Je suppose que je besoin de quelque chose comme ceci:
sql_query = SELECT node_id, text from node_text
sql_joined_field = weight from query; SELECT id, weight FROM node ORDER BY id ASC
Est-ce la bonne façon de rechercher des correspondances ORDER BY node.weight DESC
? Je voudrais être en mesure d'exécuter une requête comme suit:
mysql> SELECT * FROM nodetest1 WHERE MATCH('foobar') ORDER BY weight DESC; SHOW META;