2012-04-18 42 views
7

Tengo más de 100 archivos CSV que tienen 10000 filas que estoy indexando. Y luego consultar para deletrear es ortografía similar. Al hacer esto, la indexación es muy lenta.Solr lento al indexar

He encontrado algunas buenas soluciones

  1. maestro-esclavo, donde se utiliza Índice de master y esclavo de consulta. How to index records in Solr faster (and not impact ColdFusion web server)? Two JVM?

  2. El uso de Tri-Rango http://www.lucidimagination.com/blog/2009/05/13/exploring-lucene-and-solrs-trierange-capabilities/

Sé que estas dos soluciones son diferentes que quería algunos comentarios que debería ser más alta prioridad? ¿La segunda solución se ajusta a mi problema? Y si hay más soluciones para mi problema de revisión ortográfica.

Gracias de antemano

+0

¿Puede describir con precisión lo que está haciendo actualmente? ¿Cómo indexas y cómo ejecutas las consultas? – jpountz

Respuesta

8

de indexación suele hacer consultas lenta. Si tiene discos rápidos, la indexación usará el 100% de la CPU, de lo contrario, usará el 100% del ancho de banda del disco. De cualquier manera, las consultas serán lentas.

Una configuración de maestro/esclavo es la solución estándar para esto. Los servidores esclavos están dedicados a las consultas de búsqueda. La única vez que reducen la velocidad es después de una replicación, cuando se crean nuevos buscadores con nuevos cachés.

Una configuración maestro/esclavo puede no hacer que la indexación sea mucho más rápida, pero evitará el rendimiento lento de la consulta. Se ha trabajado para hacer que la indexación sea multiproceso, por lo que es posible que desee probar varias tareas de indexación a la vez. Esto no ayudará si el cuello de botella es disco IO, solo si está usando el 100% de una CPU.

Los campos de Trie son geniales para las consultas de rango. Dudo que tengan mucho efecto en la velocidad de indexación.

Finalmente, es posible que desee ajustar sus opciones de sugerencias de ortografía. La sugerencia de ortografía puede ser una gran tarea, y es posible que pueda obtener buenos resultados con opciones diferentes y menos costosas.

+0

¡Respuesta perfecta! Solo para dejarlo en claro porque la pregunta es hablar de dos JVM. Necesitas 2 máquinas diferentes – fulmicoton

Cuestiones relacionadas