2014-06-25 2 views
0

스핑크스에는 제품 색인이 있습니다. 카테고리별로 검색 및 필터링. "id desc"를 통해 정렬하고 그 설정으로 마지막 제품을 볼 수 있습니다. 그거야. 하지만 실제 문제는 다음과 같습니다.스핑크스는 각 카테고리에서 하나 또는 x를 표시합니다.

목록에 하나의 카테고리가없고 (내 제품이 하나를 추가했기 때문에) 다른 카테고리보다 우선 표시하고 싶습니다. id desc (마지막 제품 첫 번째)와 shuffled 카테고리를 모두 나열하려고합니다. 이제

id category_id name 
-- ----------- ---- 
1  1  a 
2  1  b 
3  1  c 
4  2  d 
5  2  e 
6  2  f 

(순서) :

디자인을 통해

f-e-d-c-b-a 

하지만 난

f-c-e-b-d-a 

내 스핑크스 코드합니다 :

 $sphinx = new SphinxClient(); 
     $sphinx->SetServer("127.0.0.1", 9312); 


      $sphinx->SetMatchMode(SPH_MATCH_EXTENDED2); 
      $sphinx->SetRankingMode(SPH_RANK_WORDCOUNT); 
      $sphinx->SetSortMode(SPH_SORT_EXTENDED, 'id DESC'); 



     $sphinx->SetArrayResult(true); 


     $filtersArr = $this->getSphinxFilterParams($params); 

     foreach ($filtersArr['filter'] as $attr => $val) 
     { 
      $sphinx->SetFilter($attr, $val[0], $val[1]); 
     } 

어쨌든 만들 수 있습니까? 여기에 대한 스핑크스 포럼에서 스레드가

답변

관련 문제