2012-03-05 2 views
0

응용 프로그램에서 ThinkingSphinx를 사용하고 있으며 현재 결과에 대해 어떤 유형의 명령도 수행하지 않습니다. 그러나 누군가가 페이지에서 클릭 할 수있는 링크를 통해이 옵션을 만들고 싶습니다. 이제는 URL을 통해 전달되어 결과가 표시된 페이지가 '새로 고침'됩니다.ThinkingSphinx URL 매개 변수를 통해 주문

.search 매개 변수에서 나는 :order => params[:o]을 수행하고 URL을 o=columnname으로 전달했지만 작동하지 않는 것으로 보입니다.

그냥 열심히 주문을 하드 코딩 할 때 인덱싱/DB 열을 정렬 할 수있는 문제가 없습니다. URL 매개 변수를 통해 결과를 정렬하여 표시 할 수 있습니다.

답변

1

Sphinx documentation에 따르면 정렬에 사용할 필드는 정렬 가능으로 플래그되어야합니다.

sort_order = params[:o] 
Article.search "pancakes", :order => sort_order, :sort_mode => :desc 
:

class Article 
    .. 
    define_index do 
    indexes title, :sortable => true 
    indexes author(:name), :as => :author, :sortable => true 
    .. 
    end 

그런 다음 하나는 정렬 순서를 정의 할 :order:sort_mode 매개 변수를 사용할 수 있습니다 : 모든 속성 정렬 때문에 has 정의 속성, 플래그 할 필요가 없습니다