我的文档结构设计得很糟糕:
{
"_index": "items",
"_type": "item",
"_id": "CD5D8F6516A88805FA826C10777B1750D9AAF5DA9CDD8E264757AB7EEC22B1EB",
"_score": 1,
"_source": {
"title": "Textverständnis 5",
"active": true,
"successorId": null,
"metadata": {
"Fach": "DE",
"Kompetenz": "Les",
"code": "C_SX_DE_Les_A0016_00149_V00",
...
}
}
}
我想从上述文档中检索标题、Fach和代码。
@Document(indexName = "items", type = "item")
@Data
public class Item {
@Id
private String id;
private String title;
private Metadata metadata;
@Data
static class Metadata {
private String Fach;
private String code;
}
}
检索标题、代码没问题,但Fach字段返回null。你知道我如何绘制这个字段吗?看来问题出在大写上,但不幸的是我无法更改文档结构。
你能帮忙吗?
谢谢。
最佳答案
使用 Jackson 的 @JsonProperty 注释来解决,例如:
@Document(indexName = "items", type = "item")
@Data
public class Item {
@Id
private String id;
private String title;
private Metadata metadata;
@Data
static class Metadata {
@JsonProperty("Fach")
private String subject;
private String code;
}
}
关于elasticsearch - Spring Data Elasticsearch 字段映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41466561/