我需要使用动态模板为索引中未知的新字段创建动态映射。我的示例映射是:
{
"indexname":{
"dynamic_templates":[
{
"template_1":{
"match":"*",
"dynamic fields":{
"type":"dynamictype",
"index":"not_analyzed"
}
}
}
]
}
}
我对创建动态映射有点困惑,是否有人能指导我解决这个问题。
我想在运行时使用 java API 创建多个字段的映射,任何人都可以指导我。
最佳答案
按照此操作:
{
"dynamic_templates": [
{
"template_1": {
"path_match": "*",
"mapping": {
"index": "not_analyzed",
"type": "string"
}
}
}
]
}
我不太确定代码中的“dynamictype”。您必须指定确切的类型。
编辑:
{
"dynamic_templates": [
{
"dynamic_1": {
"path_match": "abcd*",
"mapping": {
"include_in_all": true,
"index": "not_analyzed",
"type": "string"
}
}
},
{
"dynamic_2": {
"path_match": "address.phone.*",
"mapping": {
"include_in_all": true,
"type": "long"
}
}
}
]
}
第一个(名为 template_1)将应用于以“abcd”开头的所有新字段,第二个(名为 template_2)将应用于所有已嵌套在“地址”字段中的“电话”中的嵌套字段。
关于java - 如何在elasticsearch中为动态字段创建动态映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32733710/