2011-12-29 14 views
8

Sto usando solr via sunspot nella mia applicazione rota dove ho bisogno di restituire più di 30 record che è impostato di default. Posso farlo come indicato in Sunspot solr ma non voglio l'impaginazione per i dati. Voglio visualizzare tutti i dati in una singola pagina indipendentemente dalle righe. Anche fornire un valore hard coded non è una soluzione probabile che sto cercando.Ricerca solr Sunspot, come restituire tutti i record contemporaneamente?

risposta

11

Solr impagina sempre, quindi sembra che non sia possibile disabilitare l'impaginazione tramite Sunspot (https://groups.google.com/forum/#!topic/ruby-sunspot/kVKfsrDpokc). L'unica cosa che posso pensare di fare è ottenere il numero di record per il tuo modello prima della ricerca, e quindi impostare la variabile per_page su quel numero in modo da garantire che si restituisca solo una pagina. Qualcosa del genere:

count = Service.count 
@search = Service.search do 
    keywords(params[:search]) 
    paginate :page => 1, :per_page => count 
end 
+0

yaa .. avevo pensato lo stesso e mantenuto l'opzione per ultimo ma ha dovuto implementare come non poteva ottenere alcun altro soln. – Bijendra

+2

fai attenzione. ancora 'per_page: 10 ** 10' restituisce un errore (superando il massimo, suppongo), quindi è possibile utilizzare statici' per_page: 10 ** 9' per esempio invece di 'Service.count' ogni volta – okliv

Problemi correlati