solr - La reindexación de un modelo en particular en Sunspot parece no hacer ninguna diferencia en el tiempo empleado
(2)
Mi aplicación generalmente toma 20 minutos para reindexar en su totalidad. Hay una mesa pequeña con un par de registros que quiero reindexar de nuevo. Quiero ahorrar tiempo, así que ejecuté el comando rake sunspot:solr:reindex[500,Deal]
. Esto se toma directamente del archivo Léame de Github y se supone que debe reindexar solo un modelo.
El tiempo que toma reindexar en este comando aún es de 20 minutos, por lo que no hay diferencia en el tiempo empleado. ¿Estoy haciendo algo mal?
Ahora entro a la consola de Rails y llamo a reindexar desde allí:
Deal.solr_reindex(:batch_size => 1000, :include => :period)
Esto funciona muy bien ya que ahora puedo reindexar solo un modelo e incluir tablas relacionadas para mejorar la velocidad. Anteriormente, solo se indexa a 200 / s, y ahora está a 1000 / s.
(De hecho, dado que la reindexación a través de la consola o rake borrará el archivo de índice, lo que dará como resultado un período corto de índice vacío, ahora llamo a solr_index
mayor parte del tiempo para actualizar el índice).
Estaba en la misma situación en la que me preguntas por qué lleva el mismo tiempo.
La solución: borrar el ": solr". Solo escribe:
rake sunspot:reindex[batch_size,Model]
Si no especifica el tamaño de lote, tiene que poner una coma "," como:
rake sunspot:reindex[,model]