2013-07-13 104 views
0

是否有可能基于“权重”,然后在相同的查询attr DESC排序?狮身人面像SPH_SORT_EXTENDED

例如,如果我搜索这个文本“测试是好的”,我有这

+------------+---------+ 
| Field  | Type | 
+------------+---------+ 
| id   | integer | 
| text  | field | 
| importance | uint | 
+------------+---------+ 

重要性在这里ATTR

使用这些值的指数,

1, "test", 3 
2, "test is fine", 1 
3, "test", 8 

那么如果我搜索“测试是好的”我需要根据关键字的相关性(权重)对结果进行排序,然后基于“importa NCE” ATTR,所以ID输出的搜索将是

ID结果= 2,3,1

我用这一点,但结果是基于王氏没有关于ATTR‘重要性’进行排序到重量

$ cl-> SetSortMode(SPH_SORT_ATTR_DESC,'importance');

回答

2

你有点回答你自己的问题。是它的SPH_SORT_EXTENDED你想要的!

$cl->setSortMode(SPH_SORT_EXTENDED, "@relevance DESC, importance DESC"); 
+0

我试过了,它没有工作,但我刚刚发现SetSortMode重写了EXTENDED排序 –