2011-12-29 11 views
8

Estoy usando solr a través de manchas solares en mi aplicación de rieles, donde tengo que devolver más de 30 registros que están configurados por defecto. Puedo hacerlo como se dice en Sunspot solr pero no quiero paginación para los datos. Quiero mostrar todos los datos en una sola página, independientemente de las filas. También proporcionar un valor codificado no es una solución probable que estoy buscando.Búsqueda de sol de manchas solares, ¿cómo devolver todos los registros a la vez?

Respuesta

11

Solr siempre pagina, por lo que parece que no hay forma de deshabilitar la paginación a través de Sunspot (https://groups.google.com/forum/#!topic/ruby-sunspot/kVKfsrDpokc). Lo único que puedo hacer es obtener el número de registros para su modelo antes de la búsqueda y luego establecer la variable por página para ese número, por lo que se garantiza que solo devolverá una página. Algo como esto:

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

yaa ... pensé lo mismo y mantuve la opción para el final pero tuve que implementar como no pude obtener ninguna otra solución. – Bijendra

+2

tenga cuidado. sin embargo, 'per_page: 10 ** 10' da un error (que excede el máximo, supongo), por lo que es posible usar' per_page: 10 ** 9' estático por ejemplo en vez de 'Service.count' cada vez – okliv

Cuestiones relacionadas