2012-04-01 77 views
1

我有價格作爲屬性的產品型號。如何將條件添加到思維-Sphinx搜索查詢中?

此查詢工作正常,但需要修改幾件事情。

@products = Product.search(params[:query], :with => {:price => (params[:price_start].to_s.to_i..params[:price_end].to_s.to_i).to_a}, :page => params[:page], :per_page => 16) 

我有一些預定義的價格範圍,目前的價格範圍是:

  • 1-100幣
  • 100-300美元
  • 300-600美元
  • 600+幣

問題是

:with => {:price => (params[:price_start].to_s.to_i..params[:price_end].to_s.to_i).to_a} 

在(1-100),(100-300),(300-600)的情況下工作正常。但是如何過濾600多個範圍。如何通過查詢,如:

:with => {:price > (params[:price_start].to_s.to_i} ie the case when price > 600 

我驗證的用戶沒有改變PARAMS,使一個巨大的長陣。

我該如何修改這個查詢來傳遞>和<而不是價格數組。

回答

2

可能是:without => {:price => 1..600}

4

思維獅身人面像僅使用範圍,不大於/小於符號。

在我的應用我做這樣的事情:

value = 23 
MyClass.search("itemname", :with => {:price => value..0xffffffff}) 
相關問題