我know我可以使用dynamic_template
为特定新索引中的新字段设置字符串字段not_analyzed
。
是否有办法将此设置应用于全局 - 即为任何新索引中的任何字符串字段设置属性not_analyzed
? (无需为每个新索引设置它)
答案 0 :(得分:8)
是的,您可以通过*
在index template和_default_
mapping type
curl -XPUT localhost:9200/_template/global -d '{
"template": "*",
"mappings": {
"_default_": {
"dynamic_templates": [
{
"strings": {
"match_mapping_type": "string",
"mapping": {
"type": "string",
"index": "not_analyzed"
}
}
}
]
}
}
}'
然后,您可以在任何新索引中创建任何文档,所有字符串字段将为not_analyzed
curl -XPUT localhost:9200/dummy_index/dummy_type/1 -d '{"name": "dummy"}'
如果您检查新创建的dummy_type
的{{1}}映射类型,您会看到dummy_index
字段为name