I am not sure if this is a problem or if it's OK.
Working with the ELK stack I have switched direction, and instead of
locking down the Elasticsearch mappings I am now using its automatic
mapping functions. And by adding the following JSON template definition to
the /*path.to.config*/templates/automap.json file I can get numeric fields
automatically correctly mapped even though logstash always emits their
values as strings ("45.6" instead of 45.6). Very nice!
{
"automap" : {
"template" : "*",
*"settings" : { },*
"mappings" : {
"_default_" : {
"numeric_detection" : true,
"properties" : {
"message" : {"type" : "string"},
"host" : {"type" : "string"},
"@version" : {"type" : "string"}
}
}
}
}
}
When I removed the *"settings":{}* entirely, it was as if the template did
not exist; the numeric detection was not enabled and all string values were
seen as strings even if they contained numbers. Because all of the settings
are being controlled within elasticsearch.yml and not the template (e.g.
number of shards, number of replicas, and so on), eliminating the settings
from the template is desired, even if I have to leave it in but set its
value to the empty JSON object.
If this is the way it's supposed to work, that's OK. But I couldn't find
anything in the documentation about it, and just wanted to get a
verification either way.
Thanks!
Brian
--
You received this message because you are subscribed to the Google Groups
"elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/elasticsearch/ff4afb8e-c3e4-4772-aa48-bd6a651c78e8%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.