您快到了。
首先,动态映射的路径必须位于
clearances.*,并且必须是a
path_match而不是plain
match。
这是一个可运行的示例:https :
//www.found.no/play/gist/df030f005da71827ca96
export ELASTICSEARCH_ENDPOINT="http://localhost:9200"# Create indexescurl -XPUT "$ELASTICSEARCH_ENDPOINT/play" -d '{ "settings": {}, "mappings": { "test": { "dynamic_templates": [ { "clearances_as_string": { "path_match": "clearances.*", "mapping": { "type": "string", "index": "not_analyzed" } } } ] } }}'# Index documentscurl -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 searchescurl -XPOST "$ELASTICSEARCH_ENDPOINT/_search?pretty" -d '{ "facets": { "cawdor": { "terms": { "field": "clearances.cawdor" } } }}'


