FieldCache con índice de actualización frecuente

Hol
Tengo un índice luceno que se actualiza con frecuencia con nuevos registros, tengo 5,000,000 registros en mi índice y estoy almacenando en caché uno de mis campos numéricos usando FieldCache. pero después de actualizar el índice, lleva tiempo volver a cargar FieldCache nuevamente (estoy recargando la memoria caché porque la documentación dice que DocID no es confiable), entonces, ¿cómo puedo minimizar esta sobrecarga agregando solo DocID recién agregados a FieldCache, porque esta capacidad se vuelve un cuello de botella en mi solicitud


IndexReader reader = IndexReader.Open(diskDir);
int[] dateArr = FieldCache_Fields.DEFAULT.GetInts(reader, "newsdate"); // This line takes 4 seconds to load the array
dateArr = FieldCache_Fields.DEFAULT.GetInts(reader, "newsdate"); // this line takes 0 second as we expected
// HERE we add some document to index and we need to reload the index to reflect changes

reader = reader.Reopen();
dateArr = FieldCache_Fields.DEFAULT.GetInts(reader, "newsdate"); // This takes 4 second again to load the array

Quiero un mecanismo que minimice este tiempo agregando solo documentos recién agregados al índice en nuestra matriz. Existe una técnica como estahttp: //invertedindex.blogspot.com/2009/04/lucene-dociduid-mapping-and-payload.htm para mejorar el rendimiento, pero todavía carga todos los documentos que ya tenemos y creo que no hay necesidad de volver a cargarlos todos si encontramos la manera de agregar solo documentos recién agregados a la matriz

Respuestas a la pregunta(2)

Su respuesta a la pregunta