다음 쿼리는 마법처럼 작동 :태양 흑점 SOLR의 전체 텍스트 검색 및 will_paginate
@styles = Style.search { fulltext params[:q] }
난 데 문제는 페이지 매김과 함께합니다. 다음은 페이지 매김을 사용한 동일한 검색어입니다.
@styles = Style.search { fulltext params[:q]; paginate :page => params[:page], :per_page => params[:page_limit] }
나는레코드를 가지고 있습니다.
내가 11 레코드를 검색 할 때 나는 :page => 1
및 :per_page => 10
이있는 경우
:page=>2
을 설정하고 내가 11 스타일의 레코드를 가져 동일한 검색을 할 경우는 하늘의 배열이
@styles.results
반환받을.
[11] pry(#<StylesController>)> params[:page]=2
=> 2
[12] pry(#<StylesController>)> x=Style.search {fulltext params[:q]; paginate :page => params[:page], :per_page => params[:page_limit] }
=> <Sunspot::Search:{:fq=>["type:Style"], :q=>"hel", :fl=>"* score", :qf=>"name_textp full_name_textp", :defType=>"dismax", :start=>10, :rows=>10}>
[13] pry(#<StylesController>)> x.results
=> [#<Style id: 15...>]
나는 점이
여기 무슨 일이야 자신의 전체 검색 결과가 아닌 실제 기록을 쪽수를 매기다라고 생각이며 어떻게 해결합니까?
확인 편집, 날이 다른 방법을 설명 해보자. 이제 나는이 여섯 개 기록이 있다고 가정 해 봅시다 :
1 => 'a'
2 => 'b'
3 => 'c'
4 => 'd'
5 => 'e'
6 => 'f'
의 난 'F'
이Letter.search { fulltext 'f'; paginate :page => 1, :per_page => 5 }
내 결과가 될 것입니다 하늘의 배열 이제 []
의 내가
을하려고 생각한를 검색하려고한다고 가정 해 봅시다Letter.search { fulltext 'f'; paginate :page => 1, :per_page => 6 }
내 결과는 [6 => 'f']
입니다.
설명에서 제어부
에서
내게 조금 복잡하다. "매력처럼 작동 할 때"의 결과를 넣을 수 있습니까? 기본 페이지 크기에 따라 상당히 다를 수 있습니다. 데이터를 보면 모든 것이 합리적이라고 보입니다. 당신이 뭘 잘못 생각하니? – polmiro귀하의 매개 변수가 귀하가 생각하는 것과 다르다고 생각합니다. 이상한 매개 변수없이 결과를 출력 할 수 있습니까? – mathieugagne
모델의 색인은 어떻게 작성합니까? fulltext는 마술 적이 지 않습니다. 검색하려는 필드를 전달해야하며 검색 가능한 블록에서 텍스트를 'index'로 색인화해야합니다. 그 정보를 보여줄 수 있습니까? – mathieugagne