我希望根据另一个表中的字段对结果进行排序/加权,而不是sphinx中的默认排序。我的架构如下所示:
node {
id
weight
}
node_text {
id
node_id
text
}
(注意:每个节点只有一个node_text)
我想索引node_text
,但能够返回node.weight
排序的sphinx结果。我假设我需要这样的东西:
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;
答案 0 :(得分:1)
sql_joined_field
,创建字段,您需要weight
存储在属性中。最简单的就是简单的加入......
sql_query = select node_id, text, weight from node_text inner join node using (node_id=node.id)
sql_uint_attr = weight
那应该适合你SphinxQL查询:)