I have a doc_type with a mapping similar to this very simplified one:
{
\"test\":{
\"properties\":{
\"name\":{
\"type\":\"strin
You're almost there.
First, your dynamic mapping's path must be on clearances.*
, and it must be a path_match
and not a plain match
.
Here's a runnable example: https://www.found.no/play/gist/df030f005da71827ca96
export ELASTICSEARCH_ENDPOINT="http://localhost:9200"
# Create indexes
curl -XPUT "$ELASTICSEARCH_ENDPOINT/play" -d '{
"settings": {},
"mappings": {
"test": {
"dynamic_templates": [
{
"clearances_as_string": {
"path_match": "clearances.*",
"mapping": {
"type": "string",
"index": "not_analyzed"
}
}
}
]
}
}
}'
# Index documents
curl -XPOST "$ELASTICSEARCH_ENDPOINT/_bulk?refresh=true" -d '
{"index":{"_index":"play","_type":"test"}}
{"clearances":{"glamis":1234,"cawdor":5678}}
{"index":{"_index":"play","_type":"test"}}
{"clearances":{"glamis":"aa2862jsgd","cawdor":"some string"}}
'
# Do searches
curl -XPOST "$ELASTICSEARCH_ENDPOINT/_search?pretty" -d '
{
"facets": {
"cawdor": {
"terms": {
"field": "clearances.cawdor"
}
}
}
}
'