我正在尝试在elasticsearch中索引json文档。我没有文档的架构,它的动态。
我需要将字段存储为已分析且未分析的字段。我也需要它是动态的。
答案 0 :(得分:0)
您将通过使用动态模板来实现此目的,方法是创建字段的动态映射(或字段模式,例如所有字符串),如下所示:
"dynamic_templates":[
{
"template_myStringFields":{
"match":"somepattern",
"mapping":{
"type":"multi_field",
"fields":{
"{name}":{
"type":"string",
"index":"not_analyzed",
},
"_tokenized":{
"type":"string",
"index":"analyzed",
}
}
}
}
}...
然后,要在分析和未分析中搜索,如果您不想一次在两个字段中搜索,则可以使用“模式匹配”,或者如果在任何字段中匹配,则可以搜索“_all”字段。字段名称相同,但带有后缀,如上例中的myField._tokenized。