2016-06-22 2 views
0

오늘부터 나는 실행중인 작은 테스트를 위해 쿼리 그룹을 가지고 놀았습니다.그룹 결과 쿼리가 모든 결과를 반환하지 않습니까?

내 쿼리에는 2 개의 그룹이 정의되어 있고 특정 datetime 앞에는 1 개의 필터가 있고 datetime에는 나머지 하나의 필터가 정의되어 있습니다. 다음은 내 그룹 설정의 매우 간단한 예입니다. 조회 후

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

내 그룹을 통해 I을 반복을 수행하고 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

은 태양 흑점의 그룹화 모듈은 한계 인수를 사용
관련 문제