2011-12-30 8 views
18

Mi aplicación demora por lo general 20 minutos en reindexar en su totalidad. Hay una pequeña tabla con un par de registros que quiero volver a indexar. Quiero ahorrar tiempo, así que ejecuté el comando rake sunspot:solr:reindex[500,Deal]. Esto se toma directamente del Github readme y se supone que debe reindexar solo un modelo.Reindexar un modelo en particular en manchas solares no hace ninguna diferencia en el tiempo tomado

El tiempo que lleva reindexar en este comando es de 20 minutos, por lo que no hay diferencia en el tiempo empleado. ¿Estoy haciendo algo mal?

Respuesta

30

yo estaba en la misma situación en la que preguntas por qué se necesita el mismo tiempo.

La solución: borrar el ": solr". Sólo tiene que escribir:

rake sunspot:reindex[batch_size,Model] 

Si no se especifica el batch_size tienes tu puesto una coma "" como:

rake sunspot:reindex[,model] 
+1

esto funciona y ¡gracias! Pero los buscadores de respuestas tienen en cuenta que la solución IRB a continuación será más rápida. – lulalala

+6

Tuve que citar los corchetes en zshell 'rake sunspot: reindex \ [, model \]'. – iltempo

26

ahora entrar en la consola de Rails y llamar desde allí reindex:

Deal.solr_reindex(:batch_size => 1000, :include => :period) 

Esto funciona muy bien como ahora puedo indexar un solo modelo, incluyen tablas relacionadas para mejorar la velocidad. Anteriormente solo indexaba a 200/seg, y ahora está en 1000/seg.

(De hecho, desde indexación a través de la consola o un rastrillo, se borrará el archivo de índice, lo que resulta en un corto período de índice de vacío, que ahora llamo solr_index mayor parte del tiempo para actualizar el índice.)

+2

La tarea rastrillo de indexación es un tanto ingenua. El cuello de botella aquí es N + 1 consultas a su base de datos para objetos asociados, y su uso de ': include' en la consola está ahorrando una gran cantidad de gastos generales incurridos en la tarea de rake. –

+2

pequeña adición a esta solución: los modelos incluidos deben escribirse en minúsculas y dependiendo de su tipo de relación en singular o plural –

Cuestiones relacionadas