2014-01-07 3 views
0

정수 필드에 대한 패싯 검색에 문제가 있습니다. 즉이 모델의 관련 레코드에 대한 카운터 캐시입니다. 기본적으로 :레일 및 솔레 : 행이있는 패싯으로 필터링

Post.solr_search do 
    facet(:comments_count) do 
    row('No') { with(:comments_count).less_than 1 } 
    row('Yes') { with(:comments_count).greater_than 0 } 
    end 
... 

문제는, 내가,이 행을 기준으로 필터링 단지 쓰레기 코드의

# params[:comments_count] being either 'Yes' or 'No' 
with(:comments_count, params[:comments_count]) # It obviously doesn't work like this 
# or 
with_facet(:comments_count).row params[:comments_count] 

같은, 즉 뭔가하는 방법을 몰라, 내가 찾고 있어요 무엇을 설명하기 위해 노력하고있어 에 대한. Btw,면 처리 된 쿼리가 작동하면 'No'레이블 아래에 주석이없는 게시물과 'Yes'레이블 아래에 주석이있는 게시물을 가져옵니다. 아니, 그 기준으로 걸러 내고 싶습니다.

"Google 알고리즘"이나 문서가 도움이되지 못했습니다.

답변

0

은 적절한 해결책을 찾을 수 없습니다하지만 원숭이는이처럼 패치 :

Post.solr_search do 
    facet(:comments_count) do 
    row('No') { with(:comments_count).less_than 1 } 
    row('Yes') { with(:comments_count).greater_than 0 } 
    end 

    case params[:comments_count] 
    when 'No' 
    with(:comments_count).less_than 1 
    when 'Yes' 
    with(:comments_count).greater_than 0 
    end