performance indexing solr lucene

performance - ¿Por qué una actualización de índice toma tanto tiempo en Solr 4.10.x?



indexing lucene (2)

Deberías usar commit suave como este

curl ''localhost:8900/solr/update?softCommit=true'' -H ''Content-type:application/json'' -d ''[{"id":"org.wikipedia.ur:http/wiki/%D9%85%DB%8C%D9%84","group":{"set":"wiki"}}]''

Estoy usando solr 4.10.3. Tengo que actualizar unos 100.000 índices. Las consultas son como por documento

curl ''localhost:8900/solr/update?commit=true'' -H ''Content-type:application/json'' -d ''[{"id":"org.wikipedia.ur:http/wiki/%D9%85%DB%8C%D9%84","group":{"set":"wiki"}}]''

Después de comenzar a actualizar este índice, después de 12 horas, solo se actualizan 48000 documentos.

Dónde está el problema. ¿Alguien puede guiarme?


Está utilizando la confirmación de ejecución con cada solicitud de curvatura. Esto fuerza a Solr a empujar el segmento (estructura de datos lucene para almacenar los índices) al disco con cada confirmación. Solr siempre escribe los datos en nuevos segmentos y parece que lo obligan a crear segmentos de 100K.

Solr usa mergePolicy como TieredMergePolicy y mergeFactor como 10 parámetro predeterminado que se fusionan cada vez que solr tiene 10 segmentos de tamaño casi igual. Este proceso de fusión se ejecuta en segundo plano utilizando la implementación de ConcurrentMergeScheduler .

Este proceso de fusión requiere mucha CPU. Aquí puede usar softCommit lugar de hardCommit . Eso podría ayudarte.