Estableciendo el intervalo de actualización de Elastic Search cuando la Política de Actualización es “ninguna”.
Estaba comparando los resultados de búsqueda elástica con refresh_interval 1s y 30s, cuando la política de actualización se estableció en None al indexar 2000 documentos a la misma velocidad. Sin embargo, no hubo mucha diferencia en la velocidad de indexación entre ellos.
Usando la versión:
<dependency>
<groupid>org.springframework.data</groupid>
<artifactid>spring-data-elasticsearch</artifactid>
<version>4.2.0</version>
</dependency>
Configuración:
@Bean
fun elasticsearchTemplate(): ElasticsearchOperations? {
var restTemplate = ElasticsearchRestTemplate(client())
restTemplate.refreshPolicy = RefreshPolicy.None
return restTemplate
}
y el documento y la configuración:
@Document(indexName = "book")
@Setting(refreshInterval = "1s")
class Book(
@Id
var id: String? = null,
@Field(type = FieldType.Keyword)
var title: String,
@Field(type = FieldType.Keyword)
var author: String,
@Field(type = FieldType.Date)
var date: Date,
)
Miré los documentos de Elasticsearch para la actualización y el intervalo de actualización, pero quería asegurarme de que en caso de establecer la política de actualización en None, realmente ayudaría a aumentar el intervalo de actualización?
¿En escenarios de indexación intensiva usando Elastic Search, aumentaría la velocidad de indexación al aumentar el intervalo de actualización de un índice?
davy.ai
Análisis de los resultados de Elasticsearch con el Intervalo de Actualización
La comparación se realizó entre los resultados de Elasticsearch con un Intervalo de Actualización de 1s y 30s cuando la Política de Actualización estaba configurada en Ninguna al indexar 2000 documentos a la misma velocidad. Sin embargo, no hubo mucha diferencia en la velocidad de indexación entre ellos.
Dependencias
La versión utilizada para las dependencias fue:
Configuración
El ElasticsearchTemplate se configuró de la siguiente manera:
Documento y Configuraciones
La clase de documento Book se definió de la siguiente manera:
Análisis
Según la documentación de Elasticsearch para la Actualización y el Intervalo de Actualización, la actualización de un índice después de cada documento indexado puede ser ineficiente, y se recomienda configurar un Intervalo de Actualización con un valor más alto.
Sin embargo, la comparación realizada entre los resultados de Elasticsearch con un Intervalo de Actualización de 1s y 30s cuando la Política de Actualización estaba configurada en Ninguna no mostró mucha diferencia en la velocidad de indexación. Esto sugiere que aumentar el Intervalo de Actualización no necesariamente mejora la velocidad de indexación en escenarios de indexación intensiva.
Es posible que se requiera una investigación adicional y pruebas para confirmar la efectividad de aumentar el Intervalo de Actualización para mejorar el rendimiento en escenarios de indexación intensiva.