Cómo implementar la búsqueda de Lucene .Net en el rol web de Azure

Estoy usando AzureDirectory y Lucene .NET 2.9.4 pero tengo dos problemas:

El buscador no parece ser tan rápido. Estoy indexando con estas configuraciones: indexWriter.SetUseCompoundFile (false); indexWriter.SetMergeFactor (1000); El índice es de alrededor de 3.5gb y tiene 12.126.436 documentos. Para crear el indexSearcher se necesitan aproximadamente 5 minutos o más, incluso si el índice ya está en el disco local. ¿Es el índice demasiado grande? Intenté realizar una búsqueda de un solo término utilizando MultiFieldQueryParser en dos campos. TermVector en campos está desactivadoEn todas partes se sugiere crear solo una instancia de indexSearcher y compartirla entre consultas (de hecho, su creación es lenta), pero no sé cómo compartir el singleton Searcher (es la clase que realiza la búsqueda) entre varias webs. peticiones. Si creo el singleton en la clase webrole, ¿cómo puedo usar esa instancia para realizar la búsqueda? En este momento todas las peticiones web recrean el singleton.

Muchas gracias

Respuestas a la pregunta(2)

Su respuesta a la pregunta