2013-02-08 1 views
1

나는 타이어를 내 사이트에 통합하려고하는데 페이지 매김에 어려움을 겪고 있습니다. Tire의 컨텍스트 외부에서 결과의 페이지 매김을 시도하고 will_paginate가 해당 배열에서 작업 중입니다. 그러나, 타이어의 컨텍스트 내에서 will_paginate를 시도하면 큰 문제가 발생합니다.Tire + Will_Paginate Tire.options을 가져 가지 않음

Will_Paginate는 per_page를 고려하여 올바른 페이지 수를 표시하지만 그 페이지를 클릭하면 결과가로드되지 않고 첫 페이지와 동일합니다. will_paginate 탐색에서 페이지 번호가 강조 표시됩니다. 내가

@search_results.results.each 

사람이 있습니까 결과를 반복 곳

다음
= will_paginate @search_results.results, params 

은 다음과 같습니다 results.inspect 수익률 @

이 : 나는 will_paginate 전화 곳

다음
#<Tire::Search::Search:0x007f88ab9153d0 @indices=["deja-set-development"], @types=[],  @options={:load=>true, :page=>1, :per_page=>2}, @path="/deja-set-development/_search", @query=#<Tire::Search::Query:0x007f88ab915088 @value={:query_string=>{:query=>"oh"}}>, @facets={"type"=>{:terms=>{:field=>:_type, :size=>10, :all_terms=>false}}}> 

입니다 이견있는 사람?

편집 ---

나는 무슨 일이 일어나고 있는지 모르겠지만, 내가 이런 짓을하며 노력하고 있습니다.

@search_results = @search_results.paginate(:page => params[:page], :per_page => 5) 
+0

어떻게 실제 검색을 수행하고 있습니까? –

+0

@search_results = Tire.search (INDEX_NAME,로드 : true, 페이지 : (params [: page] | 1), per_page : 2) do – ezis

+0

_question_을 수정하고이 정보를 추가하십시오. 또한 가독성을 높이려면 코드 형식을 사용하십시오. – karmi

답변

0

그래서 나는 github 서신을 @karmi에 첨부했습니다.

https://github.com/karmi/tire/issues/627#issuecomment-13449368

나는 모델 검색에 반대 Tire.search를 사용했다. @karmi는 현재, per_page와 : page는 Tire에서 지원하지 않습니다.

@search_results = Tire.search [:index1, :index2, :index3], :load => true, :from => from, :size => size do 
     query do 
      string q, :default_operator => 'AND', :fields => [:name1, :name2] 
     end 
    end 

내가 '크기'와 '에서'을 증가하기 위해 내 자신의 작은 매김 시스템을 회전하는 데 결국 : 여기

내가이 문제를 해결하는 방법입니다. 다음은 주제에 대한 탄성 검색 링크입니다. 당신은 할 수있어

http://www.elasticsearch.org/guide/reference/api/search/from-size.html

여전히 매김에 도움이

= @search_results.results.total_entries/next_page/previous_page 

에 액세스 할 수 있습니다.

@ karmi 다시 한 번 감사드립니다.

1

타이어의 integration test을 확인하고 모든 옵션을 올바르게 전달하는지 확인하십시오.

+0

multi_search 페이지/per_page 옵션이 올바르게로드되지 않은 상태로 명확히하기 위해. 이 올바른지? – ezis