我正在使用elasticsearch 1.0.2并在索引中使用示例动态模板。无论如何,我们可以从动态字段名称
的一部分派生字段索引名称这是我的模板
{"dynamic_templates":[
"dyn_string_fields": {
"match": "dyn_string_*",
"match_mapping_type": "string",
"mapping": {
"type": "string",
"index" : "analyzed",
"index_name": "{name}"
}
}
}]}
动态模板有效,我可以添加字段。我们的目标是使用" dyn_string _"添加字段。前缀但在搜索时应该只是没有" dyn_string _"的字段名。字首。我使用match_mapping_type测试添加字段,但这将允许添加任何字段。有人有什么建议吗?
我查看了Elasticsearch API,他们在1.3中有一个转换功能,允许在插入之前修改文档。(遗憾的是我无法升级到该版本。)
答案 0 :(得分:2)
在单个模板中,可以设置几个别名。有关快速示例,请查看此虚拟示例:
curl -XPUT localhost:9200/_template/test_template -d '
{
"template" : "test_*",
"settings" : {
"number_of_shards" : 4
},
"aliases" : {
"name_for_alias" : {}
},
"mappings" : {
"type" : {
"properties" : {
"id" : {
"type" : "integer",
"include_in_all" : false
},
"test_user_id" : {
"type" : "integer",
"include_in_all" : false
}
}
}
}
}
'
有" name_for_alias"你是简单的别名吗?作为参数,如果要使用别名来过滤数据,则可以定义预设过滤器。
可在此处找到更多信息:http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/indices-templates.html