Visión general

Lucene tiene un mecanismo de almacenamiento en antememoria interno que realiza búsquedas utilizando objetos IndexSearcher de larga duración de forma más rápida que con búsquedas con instancias de IndexSearcher recientemente creadas. Una instancia de IndexSearcher compartida sería suficiente para obtener búsquedas rápidas en un entorno de un solo usuario, pero un caso de uso estándar en un entorno de servidor es que varios clientes buscan en el índice simultáneamente. Para evitar la secuenciación de las solicitudes de búsqueda en este valor, lo que degradaría el rendimiento de búsqueda individual, el GSS utiliza una agrupación IndexSearcher que mantiene un número definido de instancias de IndexSearcher para la reutilización mediante solicitudes de búsqueda simultáneas.

Un IndexSearcher sólo verá el índice como el "punto en el tiempo" en el que se abrió. Las actualizaciones del índice después de que se abriera IndexSearcher no son visibles hasta que el IndexSearcher se reabra. Cada instancia de IndexSearcher puede utilizar una cantidad muy importante de memoria en función del tamaño de índice y si el índice se ha actualizado mientras tanto o no. La agrupación de IndexSearcher se encarga de cerrar y reabrir instancias de IndexSearcher cuando se produce una actualización del índice.