Pregunta

Acabo de empezar a jugar con la Biblioteca Azure para Lucene.NET ( http://code.msdn.microsoft .com / AzureDirectory ). Hasta ahora, yo estaba usando mi propio código personalizado para la escritura de los índices de Lucene en la mancha azul. Por lo tanto, yo estaba copiando la burbuja a localStorage del papel azul web / trabajador y la lectura / escritura de documentos al índice. Yo estaba usando mi mecanismo de bloqueo a medida para asegurarse de que no tenemos enfrentamientos entre las lecturas y escrituras de la burbuja. Estoy esperando Azure Biblioteca haría cargo de estas cuestiones para mí.

Sin embargo, mientras estaba probando la aplicación de prueba, me pellizcó el código de opción de uso compuesto-archivo, y que crea un nuevo archivo cada vez que escribí al índice. Ahora, mi pregunta es, si tengo que mantener el índice - es decir mantener una instantánea del archivo de índice y utilizarlo si el índice principal se corruptos, entonces, ¿cómo hago para hacer esto. ¿Debo mantener una copia de seguridad de todos los archivos que se crean .cfs o manipulación sólo el último de ellos está muy bien. ¿Hay llamadas a la API para limpiar la mancha de mantener el archivo más reciente después de cada escritura en el índice?

Gracias Kapil

¿Fue útil?

Solución

Después de que respondí esto, terminamos cambiando nuestra infraestructura de búsqueda y utilizamos unidad de Windows Azure . Tuvimos un rol de trabajo, lo que montar un VHD con el bloque de almacenamiento, y alojar el Índice Lucene.NET en él. El código comprueba para asegurarse de que el VHD se montó primero y que existía el directorio de índice. Si el papel del trabajador cayó, el VHD sería automáticamente desmonta después de 60 segundos, y un segundo papel trabajador podría recogerlo.

Desde entonces, hemos cambiado nuestra infraestructura de nuevo y se trasladó a Amazon con una instancia de Solr para la búsqueda, pero la opción VHD funcionado bien durante el desarrollo. que podría haber funcionado bien en prueba y producción, pero los requisitos significaba que teníamos que pasar a EC2.

Otros consejos

Estoy utilizando AzureDirectory para la indización de texto en Azure, y estoy consiguiendo algunos resultados impares también ... pero espero que esta respuesta será de alguna utilidad para usted ...

En primer lugar, la opción de compuesto de archivos: de lo que estoy leyendo y averiguar, el archivo compuesto es un solo archivo grande con todo el interior los datos de índice. la aliterativo a esto está teniendo un montón de archivos más pequeños (configurados utilizando la función de IndexWriter SetMaxMergeDocs (int)) escritas en el almacenamiento. El problema con esto es una vez que llegue a un montón de archivos (i tontamente fijo esto a aproximadamente 5000) que toma una edad para descargar los índices (en el servidor Azure se tarda alrededor de un minuto ,, de mi caja dev ... así su estado funcionando durante 20 minutos y todavía no ha terminado ...).

En cuanto a los índices de copias de seguridad, no he encontrado con esto todavía, pero teniendo en cuenta que tenemos acerca de 5 millones de discos en la actualidad, y que va a crecer, me pregunto sobre esto también. si está utilizando un único archivo agrava, tal vez de descargar los archivos a un rol de trabajo, comprimirlos y subirlas con fecha del día de hoy iba a funcionar ... si usted tiene un pequeño conjunto de documentos, es posible salirse con la re-indexación de los datos si algo va mal ... pero de nuevo, depende del número ....

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top