2013-10-10 43 views
0

我們在實時斯芬克斯表中有一個名爲「價格」的屬性,並且希望允許用戶在執行搜索時爲此定義最小值和最大值。但似乎沒有辦法定義這些參數中的一個,至少不是我能找到的。實時斯芬克斯搜索屬性的最小最大值

該代碼然後通過設置一個荒謬的maxvalue,當沒有設置時得到一些醜陋的解決方案。這個例子中的classvalues只是收集的$ _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