请找到下面的映射,我们正在尝试更新域类型中的域字段。
"mappings":{
"candidate":{
"_all":{
"enabled":false
},
"properties":{
"domains":{
"properties":{
"country":{
"type":"short",
"include_in_all":false
},
"domains":{
"type":"string",
"copy_to":[
"domain_exact",
"domain_partial"
]
}
}
}
}
}
}
下面给出的java代码,
esMgr.updateIndex(indexName, "candidate", domainDetails[2]).setDoc("domains.domains", domainDetails[1])
.get();
我们得到以下异常,
Caused by: MapperParsingException[Field name [domains.domains] cannot contain '.']
任何人都可以帮助我们如何在 java 中解决此问题。
要更新,您可以尝试:
UpdateRequestBuilder br = client.prepareUpdate(indexName, "candidate", domainDetails[2]);
br.setDoc("{"domains":{ "domains": " + domainDetails[1] + "}}".getBytes());
br.execute();