tutorial aws elasticsearch

aws - elasticsearch tutorial



Cómo actualizar un tipo de campo en elasticsearch (2)

Debe definir una asignación usando Put Mapping AP I.

$ curl -XPUT ''http://localhost:9200/twitter/tweet/_mapping'' -d '' { "tweet" : { "properties" : { "message" : {"type" : "string", "store" : "yes"} } } } ''

Una fecha se puede definir de la siguiente manera:

{ "tweet" : { "properties" : { "user" : {"type" : "string", "index" : "not_analyzed"}, "message" : {"type" : "string", "null_value" : "na"}, "postDate" : {"type" : "date"}, "priority" : {"type" : "integer"}, "rank" : {"type" : "float"} } } }

Los documentos de ElasticSearch simplemente no son claros sobre cómo hacer esto.

Indiqué algunos tweets, y uno de los campos, created_at, se indizó como una cadena en lugar de una fecha. No puedo encontrar cómo reindexar con este cambio mediante una llamada curl. Si reindexar es un proceso complicado, preferiría simplemente eliminar lo que hay allí y empezar de nuevo. ¡Pero, no puedo encontrar cómo especificar los tipos de campo tampoco!

Cualquier ayuda es muy apreciada.


También necesita especificar el formato, no solo escriba si está insertando una marca de tiempo mysql, entonces debería simplemente 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"} } }