2014-09-03 9 views
1

좋은 결과를 얻은 후에 마지막으로 이것을 작성합니다.Exclude 옵션과 any_of 필드가있는 Sunspot 패싯 쿼리

특정 object_id이있는 레코드와 active/inactive을 나타내는 다른 레코드를 찾으려면 solr 쿼리를 수행하고 있습니다. 그리고이 모든 레코드를 반환

Model.search() do 
    with(:object_id, params[:ids]) 
    active_condition = with(:active, true) 
    facet(:object_id, exclude: active_condition) 
end 

(즉 object_id에 지정에 속하는 또한 활성/비활성을 포함) active 및뿐만 아니라 total count을있는 수를 얻을 필요가있다. 하지만 특정 object_ids에만 속한 개수와 활성/비활성 인에만 속한 개수를 가져와야합니다.

이 방법으로 계산을 할 수 있습니까?

답변

2

당신은 대신 active 필드에 패싯해야합니다

Model.search() do 
    with(:object_id, params[:ids]) 
    active_condition = with(:active, true) 

    facet(:active, exclude: active_condition) 
end 

이것은 당신이 범위 오브젝트의 정지 활성 및 비활성 수를 반환합니다.

+0

감사합니다. @fivedigit. 매력처럼 일했습니다. –