"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo realizar actualizaciones parciales de registros en ElasticSearch usando olivere/elastic en Go?

¿Cómo realizar actualizaciones parciales de registros en ElasticSearch usando olivere/elastic en Go?

Publicado el 2024-11-05
Navegar:704

How to Perform Partial Record Updates in ElasticSearch Using olivere/elastic in Go?

¿Cómo actualizar un registro en ElasticSearch usando olivere/elastic en Go?

Cuando se trabaja con ElasticSearch, a menudo es necesario actualizar los registros. El paquete olivere/elastic para Go ofrece un conjunto completo de funciones para interactuar con ElasticSearch, incluidas actualizaciones de registros.

Actualización parcial de registros mediante UPDATE API

Las actualizaciones parciales de registros permiten para modificaciones a campos específicos dentro de un documento. Olivere/elastic proporciona el método Update para facilitar las actualizaciones parciales. El siguiente fragmento de código demuestra cómo actualizar un solo campo ("nombre") usando la API UPDATE.

update, err := client.Update().
  Index("test3").
  Type("user").
  Id("2").
  Doc(map[string]interface{}{"name": "Updated Name"}).
  Do()

if err != nil {
  // Handle error
}

fmt.Println("updated id: ", update.Id)

Enfoque alternativo (no funciona)

Un enfoque alternativo para las actualizaciones parciales utiliza el método Script. Sin embargo, se ha informado que este enfoque es ineficaz. El siguiente ejemplo ilustra el enfoque alternativo intentado.

update := client.Update().
  Index("test3").
  Type("user").
  Id("2").
  Script(elastic.NewScript("ctx._source.name = name").
    Params(map[string]interface{}{"name": "Updated Name"}).
    Lang("groovy"))

fmt.Println("updated id: ", update.Id)

Al emplear el método Update y Doc para especificar el campo actualizado, puede actualizar registros de manera efectiva en ElasticSearch usando olivere/elastic en Go.

Declaración de liberación Este artículo se reimprime en: 1729739242 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3