tutorial puertos español elastic ejemplos elasticsearch

elasticsearch - puertos - logstash tutorial español



Filtrado por fecha en elasticsearch. (1)

Parece estar funcionando bien para mí:

curl -XPUT localhost:9200/test -d ''{ "settings": { "index.number_of_shards": 1, "index.number_of_replicas": 0 }, "mappings": { "doc": { "_timestamp": { "enabled": "true" }, "properties": { "cards": { "type": "integer" }, "last_updated": { "type": "date", "format": "yyyy-MM-dd HH:mm:ss" } } } } } '' curl -XPOST localhost:9200/test/doc/1 -d ''{ "last_updated": "2012-01-01 12:13:14" } '' curl -XPOST localhost:9200/test/doc/2 -d ''{ "last_updated": "2013-02-02 01:02:03" } '' curl -X POST ''http://localhost:9200/test/_refresh'' echo curl -X GET ''http://localhost:9200/test/doc/_search?pretty'' -d ''{ "query": { "filtered": { "query": { "match_all": {} }, "filter": { "range": { "last_updated": { "gte": "2013-01-01 00:00:00" } } } } } } ''

Estoy intentando buscar todos los elementos que tienen un campo de fecha dentro de un rango, y falla (no devuelve resultados)

La consulta:

{ "query": { "filtered": { "query": { "match_all": {} }, "filter": { "range": { "last_updated": { "from": "2013-01-01 00:00:00" } } } } } }

El mapeo:

{ "my_doctype": { "_timestamp": { "enabled": "true" }, "properties": { "cards": { "type": "integer" }, "last_updated": { "type": "date", "format": "yyyy-MM-dd HH:mm:ss" } } } }

resultados en:

{ took: 1 timed_out: false _shards: { total: 1 successful: 1 failed: 0 } hits: { total: 0 max_score: null hits: [ ] } }

La misma consulta filtrada por un rango para un campo entero ("tarjetas") con un valor numérico funciona bien. Cambiar la fecha a un inicio muy temprano (1900-01-01 00:00:00) tampoco muestra resultados.

¿Qué estoy haciendo mal?

Por cierto, sé que tengo la marca de hora habilitada en el mapeo, pero ese no es el campo por el que estoy filtrando.