我有一个带有_id作为参数的文档。我有以下JSON
{
"_id":{
"$oid":"52af48b5d55148fa0c199643"
},
"email":"example.ex@example.com"
}
对应的Java类:
@Document(indexName = "Test")
public class Test {
@Id
@ObjectId
private String _id;
private String email;
}
json对象的转换成功,但将数据保存为弹性搜索时出现问题。
org.elasticsearch.index.mapper.MapperParsingException: Field [_id] is a metadata field and cannot be added inside a document. Use the index API request parameters
我已经看到一些引用并得出结论我不能使用_id ..但我正在寻找一种方法来使用JsonProperty但它也不起作用,因为我猜ObjectId在内部使用JsonProperty。
请提供建议
答案 0 :(得分:0)
与错误消息一样,您不能在文档中使用名称为_id的字段。
修复使用“替换所有”(或替换其他子字符串中的子串的函数)函数,并将所有“_id”出现替换为“id”
答案 1 :(得分:0)
只需使用以下
{
"_id":"52af48b5d55148fa0c199643",
"email":"example.ex@example.com"
}
删除@ObjectId