Saltar al contenido

Cómo actualizar un tipo de campo en elasticsearch

Te recomendamos que pruebes esta resolución en un entorno controlado antes de pasarlo a producción, un saludo.

Solución:

Debe definir una asignación mediante la API Put Mapping.

curl -XPUT 'http://localhost:9200/twitter/_doc/_mapping' -H 'Content-Type: application/json'  -d '

    "_doc" : 
        "properties" : 
            "message" : "type" : "text", "store" : true
        
    

'

Una fecha se puede definir de la siguiente manera:

curl -XPUT 'http://localhost:9200/twitter/_doc/_mapping' -H 'Content-Type: application/json'  -d '

    "_doc" : 
        "properties" : 
            "user" : "type" : "keyword", "null_value" : "na",
            "message" : "type" : "text",
            "postDate" : "type" : "date",
            "priority" : "type" : "integer",
            "rank" : "type" : "float"
        
    

'

También debe especificar el formato, no solo escribir si está insertando una marca de tiempo mysql, entonces solo debe agregarle un formato como este.

"properties": 
    "updated_at": 
         "type": "date",
         "format": "yyyy-MM-dd HH:mm:ss"
     
 

Si consideramos su ejemplo, entonces debería ser como

"tweet" : 
    "properties" : 
        "user" : "type" : "string", "index" : "not_analyzed",
        "message" : "type" : "string", "null_value" : "na",
        "postDate" : "type" : "date" , "format": "yyyy-MM-dd HH:mm:ss" ,
        "priority" : "type" : "integer",
        "rank" : "type" : "float"
    
 

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *