2013-10-10 5 views
0

우리는 실시간 스핑크스 테이블에 '가격'이라는 속성을 가지고 있으며 검색을 수행 할 때 사용자가 최소값과 최대 값을 정의 할 수 있도록 허용하려고합니다. 그래도 보이는 것처럼 적어도 이러한 매개 변수 중 하나를 정의 할 수있는 방법은 없습니다.실시간 스핑크스 검색 속성의 최소 최대 값

아무 것도 설정되지 않은 경우 어리석은 maxvalue를 설정하면 코드가 다소 추한 솔루션이됩니다. 이 예제의 클래스 값은 수집 된 $ _GET 변수 일뿐입니다.

그렇다면 질문에 대한 답은 두 가지 대신 최소, 최대 값 중 하나를 정의 할 수 있습니까?

if($this->_priceRangeMin > 0 || $this->_priceRangeMax > 0) 
    { 
     if(($this->_priceRangeMin > 0) === false) 
      $this->_priceRangeMin = 0; 
     if(($this->_priceRangeMax > 0) === false) 
      $this->_priceRangeMax = 4294967295; 
    } 
$s->SetFilterRange('price', $this->_priceRangeMin, $this->_priceRangeMax); 

답변

0

코드에 어떤 문제가 있습니까? 그것은 작동하지 않는가?

범위가 아닌 부등호 필터를 사용하고 싶다면 SphinxQL을 사용하여 쿼리를 수행 할 수 있습니다. 그러나 의심의 여지가 당신을 구할 것입니다.

+0

대부분의 스핑크스 포럼에서 나는 당신의 이름을 보았고 당신은 주제에 대한 권위자처럼 보입니다. 그래서 나는 당신의 제안과 함께이 설정을 유지할 것입니다. 귀하의 의견을 주셔서 감사합니다 :) – HolyMackerel

관련 문제