Sphinx数据源配置的一些注意点
这几天在做Sphinx集成Drupal进行全文检索的功能测试,一些关键点记录下来,防止自己忘记了
1、sql_query 的SELECT 后面的第一个列就为sphinx的id,拿drupal来举例,如果是SELECT n.vid AS vid, n.nid as nid,id就为vid,如果是SELECT n.nid as nid, n.vid AS vid,id就是nid
2、关于sql_attr_multi属性的配置:
sql_attr_multi = uint tid from query; SELECT vid, tid FROM term_node
这里的uint tid from query中的tid名称是可以随便起的;SELECT vid, tid FROM term_node,这里的vid表示用来做查询关联的列,因为drupal中涉及node多版本控制,所以用vid比较好。注意,这里的关联查询的列,要和数据源的id一致,如果这里斯用vid,那么前面数据源的id也必须是vid(即sql_query的SELECT 后面的第一列为vid);如果是nid,数据源的id也必须是nid(即sql_query的SELECT 后面的第一列为nid)。