我知道我可以dynamic_template用来将字符串字段设置not_analyzed为 特定新索引中的新字段 。
dynamic_template
not_analyzed
有没有办法将此设置 全局 应用-即为not_analyzed任何新索引中的任何字符串字段设置属性?(无需为每个新索引设置它)
是的,你可以通过创建一个实现这个指标模板上*有一个_default_映射类型和动态模板
*
_default_
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新创建的映射类型,则将dummy_index看到该name字段为not_analyzed
dummy_type
dummy_index
name