2016-06-22 10 views
0

今日、私は実行している小さなテストのためにクエリグループを使いました。クエリグループの結果はすべての結果を返していませんか?

クエリで2つのグループを定義しました。特定の日時の前に1つのフィルタ、日時の後にもう1つのフィルタを定義しました。以下は、私のグループ設定の非常に簡単な例です。

group do 
    query "before" do 
    with(:planned).less_than mydate 
    end 
    query "after" do 
    with(:planned).greater_than mydate 
    end 
end 

クエリが私の基を介して、Iループ行われていると、私は次の結果を参照した後:

results.group(:queries).groups.each do |g| 
    group_total = g.total 
    group_results_count = g.results.count 
end 

がクエリbefore
group_total = 2
group_results_count = 1

をクエリafter
group_total = 3
group_results_count = 1

私のグループの結果数が合計値が実際に正しい常に1ですが、私は二重のSolrの管理パネルを使用して、これをチェックしています。

私はここで何かを誤解していますか、グループは私が期待しているものとは異なった働きをしていますか?

が、私はデフォルトのSolr returns one result for each groupでは

答えて

0

のSolr 5.3.1上で実行しています - group.limitパラメータを参照してください。

def to_params 
    params = { 
     :group   => "true", 
     :"group.ngroups" => "true", 
    } 

    params.merge!(@sort.to_params("group.")) 
    params[:"group.field"] = @fields.map(&:indexed_name) if @fields.any? 
    params[:"group.query"] = @queries.map(&:to_boolean_phrase) if @queries.any? 
    params[:"group.limit"] = @limit if @limit 
    params[:"group.truncate"] = @truncate if @truncate 

    params 
    end 

According to the sourceは、黒点におけるグルーピングモジュールが制限引数を使用します

関連する問題